diff --git a/kernel/tasks.c b/kernel/tasks.c index d7e4d4a0..88127af2 100644 --- a/kernel/tasks.c +++ b/kernel/tasks.c @@ -185,11 +185,11 @@ static int create_task(tid_t* id, entry_point_t ep, void* arg) mailbox_wait_msg_init(&task_table[i].inbox); memset(task_table[i].outbox, 0x00, sizeof(mailbox_wait_msg_t*)*MAX_TASKS); task_table[i].outbox[per_core(current_task)->id] = &per_core(current_task)->inbox; + task_table[i].fildes_table[0].node = findnode_fs("/dev/stdin"); task_table[i].fildes_table[1].node = findnode_fs("/dev/stdout"); task_table[i].fildes_table[2].node = findnode_fs("/dev/stderr"); - if (id) *id = i; @@ -257,6 +257,9 @@ int sys_fork(void) child = &((*child)->next); } + task_table[i].fildes_table[0].node = findnode_fs("/dev/stdin"); + task_table[i].fildes_table[1].node = findnode_fs("/dev/stdout"); + task_table[i].fildes_table[2].node = findnode_fs("/dev/stderr"); mailbox_wait_msg_init(&task_table[i].inbox); memset(task_table[i].outbox, 0x00, sizeof(mailbox_wait_msg_t*)*MAX_TASKS); task_table[i].outbox[per_core(current_task)->id] = &per_core(current_task)->inbox;