summaryrefslogtreecommitdiff
path: root/kernel/sched/scheduler.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/sched/scheduler.c')
-rw-r--r--kernel/sched/scheduler.c8
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++;