Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
disable optimizations for build MC in jenkins
[simgrid.git] / src / simix / smx_private.h
index 9cbceaa..1130ff9 100644 (file)
@@ -75,10 +75,6 @@ typedef struct s_smx_file {
   surf_file_t surf_file;
 } s_smx_file_t;
 
-typedef struct s_smx_stat {
-  s_file_stat_t surf_stat;
-} s_smx_stat_t;
-
 /*********************************** Time ************************************/
 
 /** @brief Timer datatype */
@@ -136,6 +132,12 @@ typedef struct s_smx_action {
     struct {
       e_smx_comm_type_t type;         /* Type of the communication (SIMIX_COMM_SEND or SIMIX_COMM_RECEIVE) */
       smx_rdv_t rdv;                  /* Rendez-vous where the comm is queued */
+
+#ifdef HAVE_MC
+      smx_rdv_t rdv_cpy;              /* Copy of the rendez-vous where the comm is queued, MC needs it for DPOR 
+                                         (comm.rdv set to NULL when the communication is removed from the mailbox 
+                                         (used as garbage collector)) */
+#endif
       int refcount;                   /* Number of processes involved in the cond */
       int detached;                   /* If detached or not */
 
@@ -258,7 +260,8 @@ static XBT_INLINE smx_context_t SIMIX_context_new(xbt_main_func_t code,
                                                   void_pfn_smxprocess_t cleanup_func,
                                                   smx_process_t simix_process)
 {
-
+  if (!simix_global)
+    xbt_die("simix is not initialized, please call MSG_init first");
   return simix_global->context_factory->create_context(code,
                                                        argc, argv,
                                                        cleanup_func,
@@ -312,8 +315,6 @@ static XBT_INLINE smx_context_t SIMIX_context_self(void)
   if (simix_global && simix_global->context_factory) {
     return simix_global->context_factory->self();
   }
-
-  xbt_die("simix is not initialized, please call MSG_init first");
   return NULL;
 }