summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/systemc/core/process.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/systemc/core/process.cc b/src/systemc/core/process.cc
index 6b4c42766..a54d5c24c 100644
--- a/src/systemc/core/process.cc
+++ b/src/systemc/core/process.cc
@@ -178,6 +178,14 @@ Process::disable(bool inc_kids)
if (inc_kids)
forEachKid([](Process *p) { p->disable(true); });
+ if (!::sc_core::sc_allow_process_control_corners &&
+ dynamic_cast<SensitivityTimeout *>(dynamicSensitivity)) {
+ std::string message("attempt to disable a thread with timeout wait: ");
+ message += name();
+ SC_REPORT_ERROR("Undefined process control interaction",
+ message.c_str());
+ }
+
_disabled = true;
}