Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Make sg_* functions callable from simdag
[simgrid.git] / src / simix / smx_global.cpp
index 1da0f27..ea12e3d 100644 (file)
@@ -11,6 +11,7 @@
 # include <sys/ptrace.h>
 #endif
 
 # include <sys/ptrace.h>
 #endif
 
+#include "src/surf/surf_interface.hpp"
 #include "smx_private.h"
 #include "smx_private.hpp"
 #include "xbt/heap.h"
 #include "smx_private.h"
 #include "smx_private.hpp"
 #include "xbt/heap.h"
@@ -462,15 +463,15 @@ void SIMIX_run(void)
         XBT_DEBUG("Handling process whose action failed");
         while ((action = surf_model_extract_failed_action_set(model))) {
           XBT_DEBUG("   Handling Action %p",action);
         XBT_DEBUG("Handling process whose action failed");
         while ((action = surf_model_extract_failed_action_set(model))) {
           XBT_DEBUG("   Handling Action %p",action);
-          SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
+          SIMIX_simcall_exit((smx_synchro_t) action->getData());
         }
         XBT_DEBUG("Handling process whose action terminated normally");
         while ((action = surf_model_extract_done_action_set(model))) {
           XBT_DEBUG("   Handling Action %p",action);
         }
         XBT_DEBUG("Handling process whose action terminated normally");
         while ((action = surf_model_extract_done_action_set(model))) {
           XBT_DEBUG("   Handling Action %p",action);
-          if (surf_action_get_data(action) == NULL)
+          if (action->getData() == NULL)
             XBT_DEBUG("probably vcpu's action %p, skip", action);
           else
             XBT_DEBUG("probably vcpu's action %p, skip", action);
           else
-            SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
+            SIMIX_simcall_exit((smx_synchro_t) action->getData());
         }
       }
     }
         }
       }
     }
@@ -500,15 +501,15 @@ void SIMIX_run(void)
       XBT_DEBUG("Handling process whose action failed");
       while ((action = surf_model_extract_failed_action_set(model))) {
         XBT_DEBUG("   Handling Action %p",action);
       XBT_DEBUG("Handling process whose action failed");
       while ((action = surf_model_extract_failed_action_set(model))) {
         XBT_DEBUG("   Handling Action %p",action);
-        SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
+        SIMIX_simcall_exit((smx_synchro_t) action->getData());
       }
       XBT_DEBUG("Handling process whose action terminated normally");
       while ((action = surf_model_extract_done_action_set(model))) {
         XBT_DEBUG("   Handling Action %p",action);
       }
       XBT_DEBUG("Handling process whose action terminated normally");
       while ((action = surf_model_extract_done_action_set(model))) {
         XBT_DEBUG("   Handling Action %p",action);
-        if (surf_action_get_data(action) == NULL)
+        if (action->getData() == NULL)
           XBT_DEBUG("probably vcpu's action %p, skip", action);
         else
           XBT_DEBUG("probably vcpu's action %p, skip", action);
         else
-          SIMIX_simcall_exit((smx_synchro_t) surf_action_get_data(action));
+          SIMIX_simcall_exit((smx_synchro_t) action->getData());
       }
     }
 
       }
     }
 
@@ -701,5 +702,5 @@ xbt_dict_t SIMIX_asr_get_properties(const char *name)
 
 int SIMIX_is_maestro()
 {
 
 int SIMIX_is_maestro()
 {
-  return SIMIX_process_self() == simix_global->maestro_process;
-}
\ No newline at end of file
+  return simix_global==NULL /*SimDag*/|| SIMIX_process_self() == simix_global->maestro_process;
+}