Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
use std::mutex instead of xbt_os_mutex_t in simix
[simgrid.git] / src / simix / smx_private.hpp
index e220311..ea586f1 100644 (file)
@@ -8,7 +8,11 @@
 
 #include "simgrid/s4u/Actor.hpp"
 #include "src/kernel/context/Context.hpp"
+#include "src/simix/ActorImpl.hpp"
+#include <xbt/xbt_os_thread.h>
 
+#include <boost/intrusive/list.hpp>
+#include <mutex>
 #include <unordered_map>
 #include <vector>
 
@@ -18,7 +22,7 @@ namespace simgrid {
 namespace simix {
 
 class Global {
-  friend XBT_PUBLIC bool simgrid::s4u::this_actor::isMaestro();
+  friend XBT_PUBLIC bool simgrid::s4u::this_actor::is_maestro();
 
 public:
   smx_context_factory_t context_factory = nullptr;
@@ -53,7 +57,7 @@ public:
   void_pfn_smxprocess_t kill_process_function = nullptr;
   /** Callback used when killing a SMX_process */
   void_pfn_smxprocess_t cleanup_process_function = nullptr;
-  xbt_os_mutex_t mutex                           = nullptr;
+  std::mutex mutex;
 
   std::vector<simgrid::xbt::Task<void()>> tasks;
   std::vector<simgrid::xbt::Task<void()>> tasksTemp;
@@ -63,8 +67,6 @@ public:
 }
 }
 
-extern "C" {
-
 XBT_PUBLIC_DATA std::unique_ptr<simgrid::simix::Global> simix_global;
 
 XBT_PUBLIC void SIMIX_clean();
@@ -80,6 +82,5 @@ XBT_PUBLIC void SIMIX_clean();
     _smx_throw_issuer->exception = std::make_exception_ptr(e);                                                         \
   } else                                                                                                               \
     ((void)0)
-}
 
 #endif