summaryrefslogtreecommitdiff
path: root/src/systemc/core/scheduler.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/scheduler.cc')
-rw-r--r--src/systemc/core/scheduler.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc
index 2dc3aa74c..7851bac67 100644
--- a/src/systemc/core/scheduler.cc
+++ b/src/systemc/core/scheduler.cc
@@ -174,8 +174,10 @@ Scheduler::yield()
// Fibers which aren't running should be parked at this line.
_current->fiber()->run();
// If the current process needs to be manually started, start it.
- if (_current && _current->needsStart())
+ if (_current && _current->needsStart()) {
+ _current->needsStart(false);
_current->run();
+ }
}
if (_current && _current->excWrapper) {
// Make sure this isn't a method process.