#ifdef SMPI_F2C
smpi_current_rank = index;
#endif
+
data = smpi_process_remote_data(index);
simcall_process_set_data(proc, data);
if (*argc > 2) {
// set the process attached to the mailbox
simcall_rdv_set_receiver(data->mailbox_small, proc);
XBT_DEBUG("<%d> New process in the game: %p", index, proc);
+
+ if(smpi_privatize_global_variables){
+ switch_data_segment(index);
+ }
+
}
if (smpi_process_data() == NULL)
xbt_die("smpi_process_data() returned NULL. You probably gave a NULL parameter to MPI_Init. Although it's required by MPI-2, this is currently not supported by SMPI.");
void smpi_process_destroy(void)
{
int index = smpi_process_index();
+ if(smpi_privatize_global_variables){
+ switch_data_segment(index);
+ }
process_data[index]->state = SMPI_FINALIZED;
XBT_DEBUG("<%d> Process left the game", index);
}