diff options
Diffstat (limited to 'src/systemc/core')
-rw-r--r-- | src/systemc/core/process.cc | 12 | ||||
-rw-r--r-- | src/systemc/core/process.hh | 2 |
2 files changed, 14 insertions, 0 deletions
diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc index 3e629c3ec..5d5c5216f 100644 --- a/src/systemc/core/process.cc +++ b/src/systemc/core/process.cc @@ -104,6 +104,18 @@ SensitivityEventOrList::~SensitivityEventOrList() Event::getFromScEvent(e)->delSensitivity(this); } +void +SensitivityTimeoutAndEventAndList::notifyWork(Event *e) +{ + if (e) { + // An event went off which must be part of the sc_event_and_list. + SensitivityEventAndList::notifyWork(e); + } else { + // There's no inciting event, so this must be a timeout. + SensitivityTimeout::notifyWork(e); + } +} + class UnwindExceptionReset : public ::sc_core::sc_unwind_exception { diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh index 267a7ed3d..fe75aa7de 100644 --- a/src/systemc/core/process.hh +++ b/src/systemc/core/process.hh @@ -138,6 +138,8 @@ class SensitivityTimeoutAndEventAndList : Sensitivity(p), SensitivityTimeout(p, t), SensitivityEventAndList(p, eal) {} + + void notifyWork(Event *e) override; }; class SensitivityTimeoutAndEventOrList : |