summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sim/global_event.cc4
-rw-r--r--src/sim/global_event.hh4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/sim/global_event.cc b/src/sim/global_event.cc
index fedee351f..f01df51d0 100644
--- a/src/sim/global_event.cc
+++ b/src/sim/global_event.cc
@@ -34,9 +34,9 @@
std::mutex BaseGlobalEvent::globalQMutex;
BaseGlobalEvent::BaseGlobalEvent(Priority p, Flags f)
+ : barrier(numMainEventQueues),
+ barrierEvent(numMainEventQueues, NULL)
{
- barrierEvent.resize(numMainEventQueues);
- barrier = new Barrier(numMainEventQueues);
}
diff --git a/src/sim/global_event.hh b/src/sim/global_event.hh
index 3a5297e78..88981b52a 100644
--- a/src/sim/global_event.hh
+++ b/src/sim/global_event.hh
@@ -100,7 +100,7 @@ class BaseGlobalEvent : public EventBase
// while waiting on the barrier to prevent deadlocks if
// another thread wants to lock the event queue.
EventQueue::ScopedRelease release(curEventQueue());
- return _globalEvent->barrier->wait();
+ return _globalEvent->barrier.wait();
}
public:
@@ -109,7 +109,7 @@ class BaseGlobalEvent : public EventBase
//! The barrier that all threads wait on before performing the
//! global event.
- Barrier *barrier;
+ Barrier barrier;
//! The individual local event instances (one per thread/event queue).
std::vector<BarrierEvent *> barrierEvent;