Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
have waitall output an error if an issue is encountered in any comm, and avoid loopin...
[simgrid.git] / src / smpi / private.h
index e9227f5..770d816 100644 (file)
@@ -30,6 +30,7 @@ typedef struct s_smpi_process_data *smpi_process_data_t;
 typedef struct s_smpi_subtype{
   void (*serialize)(const void * input, void *output, size_t count, void* subtype);
   void (*unserialize)(const void * input, void *output, size_t count, void* subtype);
+  void (*subtype_free)(MPI_Datatype* type);
 } s_smpi_subtype_t;
 
 typedef struct s_smpi_mpi_datatype{
@@ -111,7 +112,7 @@ int smpi_datatype_hindexed(int count, int* blocklens, MPI_Aint* indices,
 int smpi_datatype_struct(int count, int* blocklens, MPI_Aint* indices,
                     MPI_Datatype* old_types, MPI_Datatype* new_type);
 
-void smpi_datatype_create(MPI_Datatype* new_type, int size, int has_subtype, void *struct_type, int flags);
+void smpi_datatype_create(MPI_Datatype* new_type, int size,int realsize, int has_subtype, void *struct_type, int flags);
 
 
 void smpi_datatype_free(MPI_Datatype* type);
@@ -176,7 +177,7 @@ int smpi_mpi_get_count(MPI_Status * status, MPI_Datatype datatype);
 void smpi_mpi_wait(MPI_Request * request, MPI_Status * status);
 int smpi_mpi_waitany(int count, MPI_Request requests[],
                      MPI_Status * status);
-void smpi_mpi_waitall(int count, MPI_Request requests[],
+int smpi_mpi_waitall(int count, MPI_Request requests[],
                       MPI_Status status[]);
 int smpi_mpi_waitsome(int incount, MPI_Request requests[], int *indices,
                       MPI_Status status[]);