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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user