Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
this variable is accessed concurrently (thanks TSan)
[simgrid.git] / src / msg / msg_private.h
index 6d20389..656d67f 100644 (file)
@@ -12,6 +12,8 @@
 #include "src/kernel/activity/ExecImpl.hpp"
 #include "xbt/Extendable.hpp"
 
+#include <atomic>
+
 /**************** datatypes **********************************/
 /**************************** Host Extension *********************************/
 namespace simgrid {
@@ -90,7 +92,7 @@ public:
 /************************** Global variables ********************************/
 typedef struct MSG_Global {
   int debug_multiple_use;       /* whether we want an error message when reusing the same Task for 2 things */
-  unsigned long int sent_msg;   /* Total amount of messages sent during the simulation */
+  std::atomic_int_fast32_t sent_msg; /* Total amount of messages sent during the simulation */
   void (*task_copy_callback) (msg_task_t task, msg_process_t src, msg_process_t dst);
   void_f_pvoid_t process_data_cleanup;
 } s_MSG_Global_t;
@@ -103,7 +105,7 @@ XBT_PUBLIC_DATA(MSG_Global_t) msg_global;
 /*************************************************************/
 XBT_PRIVATE void MSG_process_cleanup_from_SIMIX(smx_actor_t smx_proc);
 XBT_PRIVATE smx_actor_t MSG_process_create_from_SIMIX(const char* name, std::function<void()> code, void* data,
-                                                      sg_host_t host, xbt_dict_t properties,
+                                                      sg_host_t host, std::map<std::string, std::string>* properties,
                                                       smx_actor_t parent_process);
 XBT_PRIVATE void MSG_comm_copy_data_from_SIMIX(smx_activity_t comm, void* buff, size_t buff_size);