Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
add a field to attach user data to a smpi process and the associate set
authorsuter <frederic.suter@cc.in2p3.fr>
Thu, 12 Jul 2012 15:17:16 +0000 (17:17 +0200)
committersuter <frederic.suter@cc.in2p3.fr>
Mon, 10 Sep 2012 09:04:43 +0000 (11:04 +0200)
function

src/smpi/private.h
src/smpi/smpi_global.c

index a7a7fa1..7b3e90e 100644 (file)
@@ -44,6 +44,7 @@ void smpi_process_finalize(void);
 
 smpi_process_data_t smpi_process_data(void);
 smpi_process_data_t smpi_process_remote_data(int index);
 
 smpi_process_data_t smpi_process_data(void);
 smpi_process_data_t smpi_process_remote_data(int index);
+void smpi_process_set_user_data(void *data);
 int smpi_process_count(void);
 smx_rdv_t smpi_process_mailbox(void);
 smx_rdv_t smpi_process_remote_mailbox(int index);
 int smpi_process_count(void);
 smx_rdv_t smpi_process_mailbox(void);
 smx_rdv_t smpi_process_remote_mailbox(int index);
index 38a0290..bc38566 100644 (file)
@@ -27,6 +27,7 @@ typedef struct s_smpi_process_data {
   xbt_os_timer_t timer;
   double simulated;
   MPI_Comm comm_self;
   xbt_os_timer_t timer;
   double simulated;
   MPI_Comm comm_self;
+  void *data; /* user data */
 } s_smpi_process_data_t;
 
 static smpi_process_data_t *process_data = NULL;
 } s_smpi_process_data_t;
 
 static smpi_process_data_t *process_data = NULL;
@@ -133,6 +134,13 @@ smpi_process_data_t smpi_process_remote_data(int index)
   return process_data[index];
 }
 
   return process_data[index];
 }
 
+void smpi_process_set_user_data(void *data)
+{
+  smpi_process_data_t process_data = smpi_process_data();
+  process_data->data = data;
+}
+
+
 int smpi_process_count(void)
 {
   return process_count;
 int smpi_process_count(void)
 {
   return process_count;