/* smpi_mpi_dt.c -- MPI primitives to handle datatypes */
/* FIXME: a very incomplete implementation */
-/* Copyright (c) 2009, 2010. The SimGrid Team.
+/* Copyright (c) 2009-2013. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
#include "private.h"
#include "smpi_mpi_dt_private.h"
+#include "mc/mc.h"
+#include "simgrid/modelchecker.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_mpi_dt, smpi,
"Logging specific to SMPI (datatype)");
new_t->substruct = struct_type;
new_t->in_use=0;
*new_type = new_t;
+
+#ifdef HAVE_MC
+ if(MC_is_active())
+ MC_ignore(&(new_t->in_use), sizeof(new_t->in_use));
+#endif
}
void smpi_datatype_free(MPI_Datatype* type){
void smpi_datatype_use(MPI_Datatype type){
if(type)type->in_use++;
+
+#ifdef HAVE_MC
+ if(MC_is_active())
+ MC_ignore(&(type->in_use), sizeof(type->in_use));
+#endif
}
void smpi_datatype_unuse(MPI_Datatype type){
if(type && type->in_use-- == 0 && (type->flags & DT_FLAG_DESTROYED))
smpi_datatype_free(&type);
+
+#ifdef HAVE_MC
+ if(MC_is_active())
+ MC_ignore(&(type->in_use), sizeof(type->in_use));
+#endif
}