summaryrefslogtreecommitdiff
path: root/src/systemc/core/scheduler.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/core/scheduler.hh')
-rw-r--r--src/systemc/core/scheduler.hh6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/systemc/core/scheduler.hh b/src/systemc/core/scheduler.hh
index 63f6ac35d..b576bec00 100644
--- a/src/systemc/core/scheduler.hh
+++ b/src/systemc/core/scheduler.hh
@@ -32,6 +32,7 @@
#include <functional>
#include <map>
+#include <mutex>
#include <set>
#include <vector>
@@ -191,6 +192,8 @@ class Scheduler
// Schedule an update for a given channel.
void requestUpdate(Channel *c);
+ // Same as above, but may be called from a different thread.
+ void asyncRequestUpdate(Channel *c);
// Run the given process immediately, preempting whatever may be running.
void
@@ -481,6 +484,9 @@ class Scheduler
ChannelList updateList;
+ ChannelList asyncUpdateList;
+ std::mutex asyncListMutex;
+
std::map<::Event *, Tick> eventsToSchedule;
std::set<TraceFile *> traceFiles;