-/* Copyright (c) 2010. The SimGrid Team.
+/* Copyright (c) 2010, 2012-2015. The SimGrid Team.
* All rights reserved. */
/* This program is free software; you can redistribute it and/or modify it
- * under the terms of the license (GNU LGPL) which comes with this package. */
+ * under the terms of the license (GNU LGPL) which comes with this package. */
#include "msg_private.h"
-#include "mc/mc.h"
-
-#include "msg/datatypes.h"
-#include "simix/smx_process_private.h"
-
-#ifdef HAVE_TRACING
+#include "src/simix/smx_process_private.h"
XBT_LOG_NEW_DEFAULT_SUBCATEGORY (instr_msg_process, instr, "MSG process");
if (TRACE_msg_process_is_enabled()){
static long long int counter = 0;
- if(MC_is_active())
- MC_ignore_data_bss(&counter, sizeof(counter));
-
char key[INSTR_DEFAULT_STR_SIZE];
snprintf (key, INSTR_DEFAULT_STR_SIZE, "%lld", counter++);
int len = INSTR_DEFAULT_STR_SIZE;
char str[INSTR_DEFAULT_STR_SIZE];
- container_t host_container = PJ_container_get (SIMIX_host_get_name(host->smx_host));
+ container_t host_container = PJ_container_get (SIMIX_host_get_name(host));
PJ_container_new(instr_process_id_2(process_name, process_pid, str, len), INSTR_MSG_PROCESS, host_container);
}
}
PJ_container_free (process);
}
-void TRACE_msg_process_kill(msg_process_t process)
+void TRACE_msg_process_kill(smx_process_exit_status_t status, msg_process_t process)
{
- if (TRACE_msg_process_is_enabled()){
+ if (TRACE_msg_process_is_enabled() && status==SMX_EXIT_FAILURE){
//kill means that this process no longer exists, let's destroy it
- TRACE_msg_process_destroy (MSG_process_get_name (process), MSG_process_get_PID (process), MSG_process_get_host (process));
+ TRACE_msg_process_destroy(MSG_process_get_name (process), MSG_process_get_PID (process), MSG_process_get_host (process));
}
}
PJ_container_free (container);
}
}
-
-#endif /* HAVE_TRACING */