summaryrefslogtreecommitdiffstats
path: root/src/kernel/taskmgr.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2011-03-31 16:16:49 -0500
committerPatrick Williams <iawillia@us.ibm.com>2011-03-31 16:16:49 -0500
commitec8abe32d3eccc9ef46341a045097b5d4abde886 (patch)
tree37db598962eb8a0bbbcd3d6722dbb35e89461de6 /src/kernel/taskmgr.C
parent17166038aa59e351f7815255e680ce4637c500f0 (diff)
downloadtalos-hostboot-ec8abe32d3eccc9ef46341a045097b5d4abde886.tar.gz
talos-hostboot-ec8abe32d3eccc9ef46341a045097b5d4abde886.zip
Eliminate race condition in updating task->cpu pointer.
Diffstat (limited to 'src/kernel/taskmgr.C')
-rw-r--r--src/kernel/taskmgr.C3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/kernel/taskmgr.C b/src/kernel/taskmgr.C
index f5aa62ceb..0ddc3918a 100644
--- a/src/kernel/taskmgr.C
+++ b/src/kernel/taskmgr.C
@@ -2,6 +2,7 @@
#include <kernel/taskmgr.H>
#include <kernel/task.H>
#include <kernel/pagemgr.H>
+#include <kernel/cpumgr.H>
#include <arch/ppc.H>
void TaskManager::idleTaskLoop(void* unused)
@@ -20,7 +21,7 @@ task_t* TaskManager::getCurrentTask()
void TaskManager::setCurrentTask(task_t* t)
{
- t->cpu = getCurrentTask()->cpu;
+ t->cpu = CpuManager::getCurrentCPU();
setSPRG3((uint64_t)t);
return;
}
OpenPOWER on IntegriCloud