systemc: Ensure the terminated event is notified in all cases.

The terminated event was being notified if a process was killed, but
not if it was terminated in other ways. This change moves the
notification into the helper which sets termination related state.

Change-Id: I10aa5ad25875db992c8408dc60f087efc76b336b
Reviewed-on: https://gem5-review.googlesource.com/12057
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
This commit is contained in:
Gabe Black
2018-07-27 16:28:50 -07:00
parent 222f5003f5
commit 7413261c9f

View File

@@ -220,8 +220,6 @@ Process::kill(bool inc_kids)
// Inject the kill exception into this process if it's started.
if (!_needsStart)
injectException(killException);
_terminatedEvent.notify();
}
void
@@ -384,6 +382,8 @@ Process::terminate()
for (auto s: staticSensitivities)
delete s;
staticSensitivities.clear();
_terminatedEvent.notify();
}
Process *Process::_newest;