Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
rename simdata_process_t into MsgActorExt
[simgrid.git] / src / smpi / smpi_global.cpp
index b7b181c..f6094d5 100644 (file)
@@ -133,8 +133,7 @@ void smpi_process_init(int *argc, char ***argv)
     data->instance_id = instance_id;
     data->replaying   = false;
 
-    simdata_process_t simdata = static_cast<simdata_process_t>(simcall_process_get_data(proc));
-    simdata->data             = data;
+    static_cast<MsgActorExt*>(proc->data)->data = data;
 
     if (*argc > 3) {
       memmove(&(*argv)[0], &(*argv)[2], sizeof(char *) * (*argc - 2));
@@ -227,8 +226,8 @@ int smpi_global_size()
 
 smpi_process_data_t smpi_process_data()
 {
-  simdata_process_t simdata = static_cast<simdata_process_t>(SIMIX_process_self_get_data());
-  return static_cast<smpi_process_data_t>(simdata->data);
+  MsgActorExt* msgExt = static_cast<MsgActorExt*>(SIMIX_process_self()->data);
+  return static_cast<smpi_process_data_t>(msgExt->data);
 }
 
 smpi_process_data_t smpi_process_remote_data(int index)
@@ -400,8 +399,8 @@ void smpi_comm_copy_buffer_callback(smx_activity_t synchro, void *buff, size_t b
     ){
        XBT_DEBUG("Privatization : We are copying from a zone inside global memory... Saving data to temp buffer !");
 
-
-       smpi_switch_data_segment((static_cast<smpi_process_data_t>((static_cast<simdata_process_t>(SIMIX_process_get_data(comm->src_proc))->data))->index));
+       smpi_switch_data_segment(
+           (static_cast<smpi_process_data_t>((static_cast<MsgActorExt*>(comm->src_proc->data)->data))->index));
        tmpbuff = static_cast<void*>(xbt_malloc(buff_size));
        memcpy(tmpbuff, buff, buff_size);
   }
@@ -409,7 +408,8 @@ void smpi_comm_copy_buffer_callback(smx_activity_t synchro, void *buff, size_t b
   if((smpi_privatize_global_variables) && ((char*)comm->dst_buff >= smpi_start_data_exe)
       && ((char*)comm->dst_buff < smpi_start_data_exe + smpi_size_data_exe )){
        XBT_DEBUG("Privatization : We are copying to a zone inside global memory - Switch data segment");
-       smpi_switch_data_segment((static_cast<smpi_process_data_t>((static_cast<simdata_process_t>(SIMIX_process_get_data(comm->dst_proc))->data))->index));
+       smpi_switch_data_segment(
+           (static_cast<smpi_process_data_t>((static_cast<MsgActorExt*>(comm->dst_proc->data)->data))->index));
   }
 
   memcpy(comm->dst_buff, tmpbuff, buff_size);
@@ -790,7 +790,7 @@ int smpi_main(int (*realmain) (int argc, char *argv[]), int argc, char *argv[])
   SIMIX_global_init(&argc, argv);
   MSG_init(&argc,argv);
 
-  SMPI_switch_data_segment = smpi_switch_data_segment;
+  SMPI_switch_data_segment = &smpi_switch_data_segment;
 
   smpi_init_options();