diff --git a/src/tmx/TmxCore/src/MessageRouterBasic.cpp b/src/tmx/TmxCore/src/MessageRouterBasic.cpp index ff7b78a5f..9545a57c9 100644 --- a/src/tmx/TmxCore/src/MessageRouterBasic.cpp +++ b/src/tmx/TmxCore/src/MessageRouterBasic.cpp @@ -50,11 +50,9 @@ void MessageRouterBasic::broadcastMessage(MessageReceiver *sender, IvpMessage *m //PerformanceTimer timer; - pthread_mutex_lock(&this->mMapLock); pthread_mutex_lock(&this->mActiveBroadcastsLock); this->mActiveBroadcasts++; pthread_mutex_unlock(&this->mActiveBroadcastsLock); - pthread_mutex_unlock(&this->mMapLock); int broadcastCount = 0; @@ -107,7 +105,7 @@ void MessageRouterBasic::broadcastMessage(MessageReceiver *sender, IvpMessage *m } } } - + pthread_mutex_lock(&this->mActiveBroadcastsLock); this->mActiveBroadcasts--; pthread_mutex_unlock(&this->mActiveBroadcastsLock); diff --git a/src/tmx/TmxCore/src/MessageRouterBasic.h b/src/tmx/TmxCore/src/MessageRouterBasic.h index 58cc10dc5..60d8fd04c 100644 --- a/src/tmx/TmxCore/src/MessageRouterBasic.h +++ b/src/tmx/TmxCore/src/MessageRouterBasic.h @@ -52,7 +52,7 @@ class MessageRouterBasic : public MessageRouter * Keeps track of how many threads are actively inside the broadcast method in a thread safe manner (using mActiveBroadcastsLock). * This is to allow concurrent execution of the broadcast, but give the register and unregister methods a way to tell when broadcasts are inactive. */ - volatile int mActiveBroadcasts; + int mActiveBroadcasts; /*! * Used to keep the mActiveBroadcast count accurate since multiple thread's may be accessing.