diff options
Diffstat (limited to 'src/systemc/core/event.cc')
-rw-r--r-- | src/systemc/core/event.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/systemc/core/event.cc b/src/systemc/core/event.cc index e7132e083..4fb99e6d9 100644 --- a/src/systemc/core/event.cc +++ b/src/systemc/core/event.cc @@ -47,7 +47,7 @@ Event::Event(sc_core::sc_event *_sc_event) : Event(_sc_event, nullptr) {} Event::Event(sc_core::sc_event *_sc_event, const char *_basename_cstr) : _sc_event(_sc_event), _basename(_basename_cstr ? _basename_cstr : ""), - delayedNotify([this]() { this->notify(); }) + delayedNotify([this]() { this->notify(); }), _triggeredStamp(~0ULL) { Module *p = currentModule(); @@ -166,6 +166,8 @@ Event::notify() if (delayedNotify.scheduled()) scheduler.deschedule(&delayedNotify); + _triggeredStamp = scheduler.changeStamp(); + notify(staticSenseMethod); notify(dynamicSenseMethod); notify(staticSenseThread); @@ -194,7 +196,7 @@ Event::cancel() bool Event::triggered() const { - return false; + return _triggeredStamp == scheduler.changeStamp(); } Events topLevelEvents; |