diff options
author | Anton Kling <anton@kling.gg> | 2024-03-17 20:55:34 +0100 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-03-17 20:55:34 +0100 |
commit | 0dccff86e50dfe1555b8bc29862dba2b972a3705 (patch) | |
tree | 8d0c354c65278afdc3427bb52e1e63900ccdbc05 /kernel/sched | |
parent | 2e8b474d4219e7faaac3823e73c8d528c2698a37 (diff) |
stuff
Diffstat (limited to 'kernel/sched')
-rw-r--r-- | kernel/sched/scheduler.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/kernel/sched/scheduler.c b/kernel/sched/scheduler.c index cbb28fa..e202be2 100644 --- a/kernel/sched/scheduler.c +++ b/kernel/sched/scheduler.c @@ -1,4 +1,5 @@ #include <assert.h> +#include <cpu/arch_inst.h> #include <cpu/io.h> #include <defs.h> #include <drivers/pit.h> @@ -433,6 +434,9 @@ process_t *next_task(process_t *s) { if (!c) { c = ready_queue; } + if (s == c) { + wait_for_interrupt(); + } if (c->sleep_until > pit_num_ms()) { continue; } @@ -547,7 +551,7 @@ void *mmap(void *addr, size_t length, int prot, int flags, int fd, *ptr = kmalloc(sizeof(MemoryMap)); MemoryMap *free_map = *ptr; - if (fd == -1) { + if (-1 == fd) { void *rc = allocate_virtual_user_memory(length, prot, flags); if ((void *)-1 == rc) { kprintf("ENOMEM\n"); |