diff OrthancServer/ServerContext.cpp @ 1456:68827c07e683

fix recursive calls with Lua
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 02 Jul 2015 15:44:24 +0200
parents c0bdc47165ef
children 040d58493998
line wrap: on
line diff
--- a/OrthancServer/ServerContext.cpp	Thu Jul 02 15:17:19 2015 +0200
+++ b/OrthancServer/ServerContext.cpp	Thu Jul 02 15:44:24 2015 +0200
@@ -77,7 +77,7 @@
       {
         const ServerIndexChange& change = dynamic_cast<const ServerIndexChange&>(*obj.get());
 
-        boost::mutex::scoped_lock lock(that->listenersMutex_);
+        boost::recursive_mutex::scoped_lock lock(that->listenersMutex_);
         for (ServerListeners::iterator it = that->listeners_.begin(); 
              it != that->listeners_.end(); ++it)
         {
@@ -180,7 +180,7 @@
       bool accepted = true;
 
       {
-        boost::mutex::scoped_lock lock(listenersMutex_);
+        boost::recursive_mutex::scoped_lock lock(listenersMutex_);
 
         for (ServerListeners::iterator it = listeners_.begin(); it != listeners_.end(); ++it)
         {
@@ -266,7 +266,7 @@
       if (status == StoreStatus_Success ||
           status == StoreStatus_AlreadyStored)
       {
-        boost::mutex::scoped_lock lock(listenersMutex_);
+        boost::recursive_mutex::scoped_lock lock(listenersMutex_);
 
         for (ServerListeners::iterator it = listeners_.begin(); it != listeners_.end(); ++it)
         {
@@ -439,7 +439,7 @@
     plugins_ = &plugins;
 
     // TODO REFACTOR THIS
-    boost::mutex::scoped_lock lock(listenersMutex_);
+    boost::recursive_mutex::scoped_lock lock(listenersMutex_);
     listeners_.clear();
     listeners_.push_back(ServerListener(lua_, "Lua"));
     listeners_.push_back(ServerListener(plugins, "plugin"));
@@ -451,7 +451,7 @@
     plugins_ = NULL;
 
     // TODO REFACTOR THIS
-    boost::mutex::scoped_lock lock(listenersMutex_);
+    boost::recursive_mutex::scoped_lock lock(listenersMutex_);
     listeners_.clear();
     listeners_.push_back(ServerListener(lua_, "Lua"));
   }