summaryrefslogtreecommitdiff
path: root/src/systemc/core/process.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/process.hh')
-rw-r--r--src/systemc/core/process.hh9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/systemc/core/process.hh b/src/systemc/core/process.hh
index 0d852afdb..2ec75dc06 100644
--- a/src/systemc/core/process.hh
+++ b/src/systemc/core/process.hh
@@ -37,6 +37,7 @@
#include "base/fiber.hh"
#include "sim/eventq.hh"
#include "systemc/core/bindinfo.hh"
+#include "systemc/core/event.hh"
#include "systemc/core/list.hh"
#include "systemc/core/object.hh"
#include "systemc/core/sched_event.hh"
@@ -259,7 +260,13 @@ class PendingSensitivityFinder : public PendingSensitivity
void
finalize(Sensitivities &s) override
{
- s.push_back(new SensitivityEvent(process, &finder->find_event()));
+ const ::sc_core::sc_port_base *port = finder->port();
+ int size = port->size();
+ for (int i = 0; i < size; i++) {
+ ::sc_core::sc_interface *interface = port->_gem5Interface(i);
+ const ::sc_core::sc_event *event = &finder->find_event(interface);
+ s.push_back(new SensitivityEvent(process, event));
+ }
}
};