summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.cc
diff options
context:
space:
mode:
authorGabe Black <gabeblack@google.com>2018-07-27 16:28:50 -0700
committerGabe Black <gabeblack@google.com>2018-09-11 21:52:52 +0000
commit7413261c9f3d275da878e0a627a314cfa7d4deec (patch)
tree9bb601efd201dca6df394e0a268dcf6449d1cf71 /src/systemc/core/process.cc
parent222f5003f5be2fac805a1a5799d1c49a2f87e244 (diff)
downloadgem5-7413261c9f3d275da878e0a627a314cfa7d4deec.tar.xz
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>
Diffstat (limited to 'src/systemc/core/process.cc')
-rw-r--r--src/systemc/core/process.cc4
1 files changed, 2 insertions, 2 deletions
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;