systemc: Make sure an immediate notification overrides a delayed one.

If an event has a delayed notification pending, that should be cleared
if it's later notified immediately.

Change-Id: I4272f6b47a41d80756769f3fe69069a00016dbd6
Reviewed-on: https://gem5-review.googlesource.com/12223
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-08-21 18:59:13 -07:00
parent 508929475d
commit 9f177a190b

View File

@@ -122,6 +122,10 @@ Event::getParentObject() const
void
Event::notify()
{
// An immediate notification overrides any pending delayed notification.
if (delayedNotify.scheduled())
scheduler.deschedule(&delayedNotify);
auto local_sensitivities = sensitivities;
for (auto s: local_sensitivities)
s->notify(this);