summaryrefslogtreecommitdiff
path: root/src/user/knob/quit.c
diff options
context:
space:
mode:
authorBenji Dial <benji6283@gmail.com>2020-09-13 03:19:57 -0400
committerBenji Dial <benji6283@gmail.com>2020-09-13 03:19:57 -0400
commit1e4a254674f668839e5de273916024c16814b045 (patch)
tree6774f4d4398a29c4aafb4120070975d864ffcde4 /src/user/knob/quit.c
parentb8284137d4e0eec11c78bc14047243fce6a51373 (diff)
downloadportland-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.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