diff options
author | Andreas Hansson <andreas.hansson@arm.com> | 2014-09-27 09:08:29 -0400 |
---|---|---|
committer | Andreas Hansson <andreas.hansson@arm.com> | 2014-09-27 09:08:29 -0400 |
commit | de62aedabc96e7492c40bbc4468ba42b3274bfd6 (patch) | |
tree | e68dae6dd1f3da0e7d2dcf3e946728c46e63bbce /src/sim | |
parent | 71d5f03175b3a684b94bbc515ebc02e2b493b7cf (diff) | |
download | gem5-de62aedabc96e7492c40bbc4468ba42b3274bfd6.tar.xz |
misc: Fix a bunch of minor issues identified by static analysis
Add some missing initialisation, and fix a handful benign resource
leaks (including some false positives).
Diffstat (limited to 'src/sim')
-rw-r--r-- | src/sim/eventq.cc | 11 | ||||
-rw-r--r-- | src/sim/eventq.hh | 3 |
2 files changed, 7 insertions, 7 deletions
diff --git a/src/sim/eventq.cc b/src/sim/eventq.cc index b8e45a13e..4fde79656 100644 --- a/src/sim/eventq.cc +++ b/src/sim/eventq.cc @@ -460,29 +460,28 @@ Event::dump() const } EventQueue::EventQueue(const string &n) - : objName(n), head(NULL), _curTick(0), - async_queue_mutex(new std::mutex()) + : objName(n), head(NULL), _curTick(0) { } void EventQueue::asyncInsert(Event *event) { - async_queue_mutex->lock(); + async_queue_mutex.lock(); async_queue.push_back(event); - async_queue_mutex->unlock(); + async_queue_mutex.unlock(); } void EventQueue::handleAsyncInsertions() { assert(this == curEventQueue()); - async_queue_mutex->lock(); + async_queue_mutex.lock(); while (!async_queue.empty()) { insert(async_queue.front()); async_queue.pop_front(); } - async_queue_mutex->unlock(); + async_queue_mutex.unlock(); } diff --git a/src/sim/eventq.hh b/src/sim/eventq.hh index e238785f6..c390d2155 100644 --- a/src/sim/eventq.hh +++ b/src/sim/eventq.hh @@ -42,6 +42,7 @@ #include <cassert> #include <climits> #include <iosfwd> +#include <memory> #include <mutex> #include <string> @@ -448,7 +449,7 @@ class EventQueue : public Serializable Tick _curTick; //! Mutex to protect async queue. - std::mutex *async_queue_mutex; + std::mutex async_queue_mutex; //! List of events added by other threads to this event queue. std::list<Event*> async_queue; |