summaryrefslogtreecommitdiff
path: root/src/user/knob/quit.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/user/knob/quit.c')
-rw-r--r--src/user/knob/quit.c25
1 files changed, 1 insertions, 24 deletions
diff --git a/src/user/knob/quit.c b/src/user/knob/quit.c
index a2ef5aa..7c20bdd 100644
--- a/src/user/knob/quit.c
+++ b/src/user/knob/quit.c
@@ -1,29 +1,6 @@
#include <pland/syscall.h>
-#include <knob/heap.h>
-
-struct quit_list_node {
- struct quit_list_node *prev;
- void (*f)();
-};
-
-static struct quit_list_node head = {
- .f = &_exit_task
-};
-
-static struct quit_list_node *last = &head;
-
-void on_quit(void (*run_f)()) {
- struct quit_list_node *new = get_block(sizeof(struct quit_list_node));
- new->prev = last;
- new->f = run_f;
- last = new;
-}
__attribute__ ((noreturn))
void quit() {
- struct quit_list_node *node = last;
- while (1) {
- node->f();
- node = node->prev;
- }
+ _exit_task();
} \ No newline at end of file