diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-04-19 20:51:32 -0500 |
---|---|---|
committer | Andrew J. Geissler <andrewg@us.ibm.com> | 2011-04-21 15:47:35 -0500 |
commit | b4fd596e2c7bc6bfd884dcff9bf1d98b6ea4d153 (patch) | |
tree | a6c9f1c50607e21b1c8a7be636b33a4a3afe787f /src | |
parent | 9d3415aef8635c26f32fba09e7214bd26ded9c05 (diff) | |
download | blackbird-hostboot-b4fd596e2c7bc6bfd884dcff9bf1d98b6ea4d153.tar.gz blackbird-hostboot-b4fd596e2c7bc6bfd884dcff9bf1d98b6ea4d153.zip |
Fix race conditions in syscall interfaces.
Change-Id: I19b7c1fc834927eda75231b08bfaef0f9efdd8a6
Reviewed-on: http://gfwr801.rchland.ibm.com:8080/gerrit/7
Tested-by: Jenkins Server
Tested-by: Andrew J. Geissler <andrewg@us.ibm.com>
Reviewed-by: Andrew J. Geissler <andrewg@us.ibm.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/kernel/syscall.C | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C index a61ddd6d9..340250f50 100644 --- a/src/kernel/syscall.C +++ b/src/kernel/syscall.C @@ -276,7 +276,6 @@ namespace Systemcalls } mq->lock.unlock(); - TASK_SETRTN(t,0); } void MsgRespond(task_t* t) @@ -295,9 +294,10 @@ namespace Systemcalls waiter->cpu = t->cpu; TaskManager::setCurrentTask(waiter); - t->cpu->scheduler->addTask(t); + TASK_SETRTN(waiter,0); TASK_SETRTN(t,0); + t->cpu->scheduler->addTask(t); } else { |