diff options
author | Alex AUVOLAT <alexis211@gmail.com> | 2012-05-01 17:42:36 +0200 |
---|---|---|
committer | Alex AUVOLAT <alexis211@gmail.com> | 2012-05-01 17:42:36 +0200 |
commit | e9683297bf480f9590b0e5796f4520fb430e2e03 (patch) | |
tree | 93ef75cd154edf4c342d0a22cd56eb3670feb2b5 /src/kernel/task/idt.c | |
parent | e8cf65c07d78e3cfbac953b1b97c51998a5900df (diff) | |
download | TCE-e9683297bf480f9590b0e5796f4520fb430e2e03.tar.gz TCE-e9683297bf480f9590b0e5796f4520fb430e2e03.zip |
Now using Doug Lea's malloc for userland too. And improved stability.
Diffstat (limited to 'src/kernel/task/idt.c')
-rw-r--r-- | src/kernel/task/idt.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/kernel/task/idt.c b/src/kernel/task/idt.c index ff129be..aed5ea8 100644 --- a/src/kernel/task/idt.c +++ b/src/kernel/task/idt.c @@ -6,7 +6,7 @@ #include "task.h" #include "syscall.h" -#include <stdlib.h> +#include <stdlib_common.h> extern void isr0(); extern void isr1(); @@ -102,7 +102,7 @@ void idt_irqHandler(struct registers regs) { if (irq_handlers[regs.err_code] != 0) { irq_handlers[regs.err_code](®s); } - if (doSwitch) tasking_switch(); + if (doSwitch) schedule(); } /* Called in idt_.asm on a system call (interrupt 64). @@ -208,7 +208,7 @@ void idt_handleIrq(int number, int_callback func) { /* Tells the IRQ handler to wake up the current thread when specified IRQ fires. */ void idt_waitIrq(int number) { - if (number < 16 && number >= 0 && proc_priv() <= PL_DRIVER) { + if (number < 16 && number >= 0 && proc_priv() <= PL_KERNEL) { struct irq_waiter *tmp = kmalloc(sizeof(struct irq_waiter)); tmp->thread = current_thread; tmp->next = irq_wakeup[number]; |