diff options
author | Benji Dial <benji6283@gmail.com> | 2020-09-13 03:19:57 -0400 |
---|---|---|
committer | Benji Dial <benji6283@gmail.com> | 2020-09-13 03:19:57 -0400 |
commit | 1e4a254674f668839e5de273916024c16814b045 (patch) | |
tree | 6774f4d4398a29c4aafb4120070975d864ffcde4 /src/user/knob/quit.c | |
parent | b8284137d4e0eec11c78bc14047243fce6a51373 (diff) | |
download | portland-os-1e4a254674f668839e5de273916024c16814b045.tar.gz |
(basic, not much tested) keyboard, better panic
Diffstat (limited to 'src/user/knob/quit.c')
-rw-r--r-- | src/user/knob/quit.c | 25 |
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 |