diff options
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r-- | src/kernel/syscall.C | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C index a38f08b78..4eb3b4fa8 100644 --- a/src/kernel/syscall.C +++ b/src/kernel/syscall.C @@ -701,7 +701,10 @@ namespace Systemcalls else { TASK_SETRTN(t, 0); - DeferredQueue::insert(new KernelMisc::WinkleCore(t)); + KernelMisc::WinkleCore* deferred = new KernelMisc::WinkleCore(t); + t->state = TASK_STATE_BLOCK_USRSPACE; + t->state_info = deferred; + DeferredQueue::insert(deferred); TaskManager::setCurrentTask(cpu->idle_task); DeferredQueue::execute(); } |