X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/3c89e084af54896c9dcd71ab064bbfc08dfffb64..43cb0b7a116ccf23fd546a7dafded7782e5d6ba4:/src/smpi/smpi_mpi_dt.c diff --git a/src/smpi/smpi_mpi_dt.c b/src/smpi/smpi_mpi_dt.c index 2b42d05a97..7cb76b7949 100644 --- a/src/smpi/smpi_mpi_dt.c +++ b/src/smpi/smpi_mpi_dt.c @@ -123,14 +123,18 @@ CREATE_MPI_DATATYPE_NULL(MPI_PACKED); // Internal use only CREATE_MPI_DATATYPE(MPI_PTR, void*); +/** Check if the datatype is usable for communications + */ +int is_datatype_valid(MPI_Datatype datatype) { + return datatype != MPI_DATATYPE_NULL + && (datatype->flags & DT_FLAG_COMMITED); +} size_t smpi_datatype_size(MPI_Datatype datatype) { return datatype->size; } - - MPI_Aint smpi_datatype_lb(MPI_Datatype datatype) { return datatype->lb; @@ -326,7 +330,7 @@ void smpi_datatype_free(MPI_Datatype* type){ xbt_free((*type)->substruct); } xbt_free(*type); - + *type = MPI_DATATYPE_NULL; } void smpi_datatype_use(MPI_Datatype type){