Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Use existing xbt_swag_reset().
[simgrid.git] / src / smpi / smpi_base.c
index d06a471..d27f40c 100644 (file)
 
 XBT_LOG_NEW_DEFAULT_SUBCATEGORY(smpi_base, smpi,
                                 "Logging specific to SMPI (base)");
-XBT_LOG_EXTERNAL_CATEGORY(smpi_base);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_bench);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_kernel);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_mpi);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_mpi_dt);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_coll);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_receiver);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_sender);
-XBT_LOG_EXTERNAL_CATEGORY(smpi_util);
 
 static int match_recv(void* a, void* b) {
    MPI_Request ref = (MPI_Request)a;
@@ -65,7 +56,8 @@ static MPI_Request build_request(void *buf, int count,
 
 static void smpi_mpi_request_free_voidp(void* request)
 {
-  smpi_mpi_request_free(request);
+  MPI_Request req = request;
+  smpi_mpi_request_free(&req);
 }
 
 /* MPI Low level calls */
@@ -126,7 +118,9 @@ void smpi_mpi_start(MPI_Request request)
                                    detached);
 
 #ifdef HAVE_TRACING
-    simcall_set_category (request->action, TRACE_internal_smpi_get_category());
+    /* FIXME: detached sends are not traceable (request->action == NULL) */
+    if (request->action)
+      simcall_set_category(request->action, TRACE_internal_smpi_get_category());
 #endif
   }
 }