diff options
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++; |