summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-10-01 21:58:50 -0700
committerGabe Black <gabeblack@google.com>2018-10-16 00:44:52 +0000
commitf93e27666f2ddc85afd618df6f2c3874ac967715 (patch)
treea567c8ccbfddeae2665ea41e434110d372f41fdf
parente16ca903f240c750f34207b4c98735f81d2312b8 (diff)
downloadgem5-f93e27666f2ddc85afd618df6f2c3874ac967715.tar.xz
systemc: Clear the current process when done with the eval phase.
The current process will still be set sometimes when exiting from the yield loop in the top of runReady in the scheduler. Clear it to ensure that we don't think a process is running when it isn't. Change-Id: Idd44689e10fadf4a3e3ec07c60d107c80a44d39f Reviewed-on: https://gem5-review.googlesource.com/c/13201 Reviewed-by: Gabe Black <gabeblack@google.com> Maintainer: Gabe Black <gabeblack@google.com>
-rw-r--r--src/systemc/core/scheduler.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index d57505517..0071e2dd4 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -280,6 +280,7 @@ Scheduler::runReady()
do {
yield();
} while (getNextReady());
+ _current = nullptr;
if (!empty) {
_numCycles++;