From 6c57f2bcd30205dd1a6f11b8b4c2c77d45d9a81d Mon Sep 17 00:00:00 2001 From: Lucas Schnorr Date: Mon, 11 Apr 2011 09:59:16 +0200 Subject: [PATCH 1/1] trace process creation before request for simix, assuming it won't fail --- src/instr/instr_msg_process.c | 12 ++++++++---- src/instr/instr_private.h | 3 ++- src/msg/m_process.c | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/instr/instr_msg_process.c b/src/instr/instr_msg_process.c index 99a8e630a4..365651cb2e 100644 --- a/src/instr/instr_msg_process.c +++ b/src/instr/instr_msg_process.c @@ -20,7 +20,12 @@ void TRACE_msg_set_process_category(m_process_t process, const char *category, c char *instr_process_id (m_process_t proc, char *str, int len) { - snprintf (str, len, "%s-%d", MSG_process_get_name(proc), MSG_process_get_PID(proc)); + return instr_process_id_2 (MSG_process_get_name(proc), MSG_process_get_PID(proc), str, len); +} + +char *instr_process_id_2 (const char *process_name, int process_pid, char *str, int len) +{ + snprintf (str, len, "%s-%d", process_name, process_pid); return str; } @@ -60,15 +65,14 @@ void TRACE_msg_process_change_host(m_process_t process, m_host_t old_host, m_hos } } -void TRACE_msg_process_create (m_process_t process) +void TRACE_msg_process_create (const char *process_name, int process_pid, m_host_t host) { if (TRACE_msg_process_is_enabled()){ int len = INSTR_DEFAULT_STR_SIZE; char str[INSTR_DEFAULT_STR_SIZE]; - m_host_t host = MSG_process_get_host(process); container_t host_container = getContainer(host->name); - container_t msg = newContainer(instr_process_id(process, str, len), INSTR_MSG_PROCESS, host_container); + container_t msg = newContainer(instr_process_id_2(process_name, process_pid, str, len), INSTR_MSG_PROCESS, host_container); type_t type = getType ("MSG_PROCESS_STATE", msg->type); val_t value = getValueByName ("executing", type); diff --git a/src/instr/instr_private.h b/src/instr/instr_private.h index 8eefa976c3..2c6442bd93 100644 --- a/src/instr/instr_private.h +++ b/src/instr/instr_private.h @@ -105,9 +105,10 @@ void TRACE_msg_task_put_end(void); /* declaration of instrumentation functions from msg_process_instr.c */ char *instr_process_id (m_process_t proc, char *str, int len); +char *instr_process_id_2 (const char *process_name, int process_pid, char *str, int len); void TRACE_msg_process_change_host(m_process_t process, m_host_t old_host, m_host_t new_host); -void TRACE_msg_process_create (m_process_t process); +void TRACE_msg_process_create (const char *process_name, int process_pid, m_host_t host); void TRACE_msg_process_kill(m_process_t process); void TRACE_msg_process_suspend(m_process_t process); void TRACE_msg_process_resume(m_process_t process); diff --git a/src/msg/m_process.c b/src/msg/m_process.c index 177a20c784..a7b18f880e 100644 --- a/src/msg/m_process.c +++ b/src/msg/m_process.c @@ -159,7 +159,7 @@ m_process_t MSG_process_create_with_environment(const char *name, } #ifdef HAVE_TRACING - TRACE_msg_process_create(process); + TRACE_msg_process_create(name, simdata->PID, simdata->m_host); #endif /* Let's create the process: SIMIX may decide to start it right now, -- 2.20.1