From: Gabe Black Date: Fri, 27 Jul 2018 23:28:50 +0000 (-0700) Subject: systemc: Ensure the terminated event is notified in all cases. X-Git-Tag: v19.0.0.0~1813 X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=7413261c9f3d275da878e0a627a314cfa7d4deec;p=gem5.git 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 Maintainer: Gabe Black --- diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc index a54d5c24c..ef1cea61a 100644 --- a/src/systemc/core/process.cc +++ b/src/systemc/core/process.cc @@ -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;