diff options
Diffstat (limited to 'src/systemc/core/scheduler.cc')
-rw-r--r-- | src/systemc/core/scheduler.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/systemc/core/scheduler.cc b/src/systemc/core/scheduler.cc index c2b5ec38d..085602d7b 100644 --- a/src/systemc/core/scheduler.cc +++ b/src/systemc/core/scheduler.cc @@ -117,6 +117,13 @@ Scheduler::yield() if (_current && _current->needsStart()) _current->run(); } + if (_current && _current->excWrapper) { + // Make sure this isn't a method process. + assert(!_current->needsStart()); + auto ew = _current->excWrapper; + _current->excWrapper = nullptr; + ew->throw_it(); + } } void |