summaryrefslogtreecommitdiff
path: root/kernel/interrupts.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/interrupts.c')
-rw-r--r--kernel/interrupts.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/interrupts.c b/kernel/interrupts.c
index 9c485cc..94c1bb1 100644
--- a/kernel/interrupts.c
+++ b/kernel/interrupts.c
@@ -79,7 +79,7 @@ uint32_t interrupt_handler(uint32_t esp, uint32_t irq)
case INTERRUPT_APIC_TIMER:
case INTERRUPT_IPI:
- esp=scheduler_run(esp);
+ esp=scheduler_run(esp,0);
break;
case 255: // default or spurious
@@ -89,7 +89,10 @@ uint32_t interrupt_handler(uint32_t esp, uint32_t irq)
// reschedule to kernel worker on these
if(irq==INTERRUPT_SYSCALL||irq==INTERRUPT_KEYBOARD||irq==INTERRUPT_MOUSE)
+ {
+
esp=scheduler_wake_worker(esp);
+ }
// ack all to LAPIC, except software syscalls
if(irq!=INTERRUPT_SYSCALL)