diff --git a/Server/DataStructures/SharedBarriers.h b/Server/DataStructures/SharedBarriers.h index 7363395e3..c11f121f3 100644 --- a/Server/DataStructures/SharedBarriers.h +++ b/Server/DataStructures/SharedBarriers.h @@ -1,17 +1,37 @@ -#include -#include +#include +#include struct SharedBarriers { - SharedBarriers () : update_ongoing(false), number_of_queries(0) { } + SharedBarriers () + : + pending_update_mutex( + boost::interprocess::open_or_create, + "pending_update" + ), + update_mutex( + boost::interprocess::open_or_create, + "update" + ), + query_mutex( + boost::interprocess::open_or_create, + "query" + ), + no_running_queries_condition( + boost::interprocess::open_or_create, + "no_running_queries" + ), + update_ongoing(false), + number_of_queries(0) + { } // Mutex to protect access to the boolean variable - boost::interprocess::interprocess_mutex pending_update_mutex; - boost::interprocess::interprocess_mutex update_mutex; - boost::interprocess::interprocess_mutex query_mutex; + boost::interprocess::named_mutex pending_update_mutex; + boost::interprocess::named_mutex update_mutex; + boost::interprocess::named_mutex query_mutex; // Condition that no update is running - boost::interprocess::interprocess_condition no_running_queries_condition; + boost::interprocess::named_condition no_running_queries_condition; // Is there an ongoing update? bool update_ongoing;