Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
int -> bool for replay control
authordegomme <augustin.degomme@unibas.ch>
Fri, 27 May 2016 22:54:29 +0000 (00:54 +0200)
committerdegomme <augustin.degomme@unibas.ch>
Fri, 27 May 2016 22:54:29 +0000 (00:54 +0200)
src/smpi/private.h
src/smpi/smpi_comm.cpp
src/smpi/smpi_global.cpp
src/smpi/smpi_replay.cpp

index 2c1965d..fd70eba 100644 (file)
@@ -177,8 +177,8 @@ XBT_PRIVATE void smpi_process_simulated_start(void);
 XBT_PRIVATE double smpi_process_simulated_elapsed(void);
 XBT_PRIVATE void smpi_process_set_sampling(int s);
 XBT_PRIVATE int smpi_process_get_sampling(void);
-XBT_PRIVATE void smpi_process_set_replaying(int s);
-XBT_PRIVATE int smpi_process_get_replaying(void);
+XBT_PRIVATE void smpi_process_set_replaying(bool s);
+XBT_PRIVATE bool smpi_process_get_replaying(void);
 
 XBT_PRIVATE void smpi_deployment_register_process(const char* instance_id, int rank, int index, MPI_Comm**, xbt_bar_t*);
 XBT_PRIVATE void smpi_deployment_cleanup_instances(void);
index eef72d0..ffc2d3c 100644 (file)
@@ -371,10 +371,10 @@ void smpi_comm_init_smp(MPI_Comm comm){
   
   // If we are in replay - perform an ugly hack  
   // tell SimGrid we are not in replay for a while, because we need the buffers to be copied for the following calls
-  int replaying = 0; //cache data to set it back again after
+  bool replaying = false; //cache data to set it back again after
   if(smpi_process_get_replaying()){
-   replaying=1;
-   smpi_process_set_replaying(0);
+   replaying=true;
+   smpi_process_set_replaying(false);
   }
 
   if(smpi_privatize_global_variables){ //we need to switch as the called function may silently touch global variables
@@ -536,8 +536,8 @@ void smpi_comm_init_smp(MPI_Comm comm){
   }
   xbt_free(leader_list);
   
-  if(replaying==1)
-    smpi_process_set_replaying(1); 
+  if(replaying)
+    smpi_process_set_replaying(true); 
 }
 
 int smpi_comm_attr_delete(MPI_Comm comm, int keyval){
index 13b9b3b..e2bc344 100644 (file)
@@ -46,7 +46,7 @@ typedef struct s_smpi_process_data {
   char state;
   int sampling;                 /* inside an SMPI_SAMPLE_ block? */
   char* instance_id;
-  int replaying;                /* is the process replaying a trace */
+  bool replaying;                /* is the process replaying a trace */
   xbt_bar_t finalization_barrier;
   int return_value;
   smpi_trace_call_location_t* trace_call_loc;
@@ -110,7 +110,7 @@ void smpi_process_init(int *argc, char ***argv)
     if(temp_bar != NULL) data->finalization_barrier = temp_bar;
     data->index       = index;
     data->instance_id = instance_id;
-    data->replaying   = 0;
+    data->replaying   = false;
     //xbt_free(simcall_process_get_data(proc));
 
     simdata_process_t simdata = static_cast<simdata_process_t>(simcall_process_get_data(proc));
@@ -185,17 +185,17 @@ void smpi_process_mark_as_initialized(void)
     process_data[index_to_process_data[index]]->state = SMPI_INITIALIZED;
 }
 
-void smpi_process_set_replaying(int value){
+void smpi_process_set_replaying(bool value){
   int index = smpi_process_index();
   if ((index != MPI_UNDEFINED) && (process_data[index_to_process_data[index]]->state != SMPI_FINALIZED))
     process_data[index_to_process_data[index]]->replaying = value;
 }
 
-int smpi_process_get_replaying(){
+bool smpi_process_get_replaying(){
   int index = smpi_process_index();
   if (index != MPI_UNDEFINED)
     return process_data[index_to_process_data[index]]->replaying;
-  else return _xbt_replay_is_active();
+  else return (_xbt_replay_is_active() != 0);
 }
 
 int smpi_global_size(void)
index ee16669..7975f1c 100644 (file)
@@ -979,7 +979,7 @@ void smpi_replay_run(int *argc, char***argv){
   /* First initializes everything */
   smpi_process_init(argc, argv);
   smpi_process_mark_as_initialized();
-  smpi_process_set_replaying(1);
+  smpi_process_set_replaying(true);
 
   int rank = smpi_process_index();
   TRACE_smpi_init(rank);