diff options
author | Anton Kling <anton@kling.gg> | 2024-04-27 18:32:32 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-27 18:32:32 +0200 |
commit | e3ff175cc3a5fdd1d65a34d081955b9808c49eca (patch) | |
tree | 3cf41a97d8800ca92c4781847185975a0c95dbef /kernel/sched/scheduler.c | |
parent | 02c27583a539c4e8073509536d328581cf1ba346 (diff) |
Kernel: Make "relist" able to dynamically resize
Diffstat (limited to 'kernel/sched/scheduler.c')
-rw-r--r-- | kernel/sched/scheduler.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/kernel/sched/scheduler.c b/kernel/sched/scheduler.c index 42d4dc7..639dd05 100644 --- a/kernel/sched/scheduler.c +++ b/kernel/sched/scheduler.c @@ -127,8 +127,12 @@ process_t *create_process(process_t *p, u32 esp, u32 eip) { } for (int i = 0;; i++) { vfs_fd_t *out; - if (!relist_get(&r->file_descriptors, i, (void **)&out)) { - break; + int empty; + if (!relist_get(&r->file_descriptors, i, (void **)&out, &empty)) { + if (empty) { + break; + } + continue; } if (out) { out->reference_count++; |