X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c6d533c9cc016b1efb935af6b8407a94f3e65a30..18c57b27dd71ee7839c6a90368c845886a87d638:/examples/msg/actions/actions.c diff --git a/examples/msg/actions/actions.c b/examples/msg/actions/actions.c index a45db1fd84..2448f93fad 100644 --- a/examples/msg/actions/actions.c +++ b/examples/msg/actions/actions.c @@ -87,8 +87,7 @@ static void action_send(const char *const *action) XBT_VERB("%s %f", name, MSG_get_clock() - clock); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); #ifdef HAVE_TRACING TRACE_smpi_ptp_out(rank, rank, dst_traced, "send"); @@ -137,13 +136,15 @@ static void action_recv(const char *const *action) #endif XBT_DEBUG("Receiving: %s", name); - MSG_task_receive(&task, mailbox_name); + MSG_error_t res = MSG_task_receive(&task, mailbox_name); // MSG_task_receive(&task, MSG_process_get_name(MSG_process_self())); XBT_VERB("%s %f", name, MSG_get_clock() - clock); - MSG_task_destroy(task); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + if (res == MSG_OK) { + MSG_task_destroy(task); + } + + free(name); #ifdef HAVE_TRACING TRACE_smpi_ptp_out(rank, src_traced, rank, "recv"); TRACE_smpi_recv(rank, src_traced, rank); @@ -216,8 +217,7 @@ static void action_wait(const char *const *action) MSG_task_destroy(task); XBT_VERB("%s %f", name, MSG_get_clock() - clock); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); #ifdef HAVE_TRACING TRACE_smpi_ptp_out(rank, src_traced, rank, "wait"); TRACE_smpi_recv(rank, src_traced, rank); @@ -237,32 +237,31 @@ static void action_barrier(const char *const *action) name = xbt_str_join_array(action, " "); if (mutex == NULL) { // first arriving on the barrier - mutex = SIMIX_req_mutex_init(); - cond = SIMIX_req_cond_init(); + mutex = simcall_mutex_init(); + cond = simcall_cond_init(); processes_arrived_sofar=0; } XBT_DEBUG("Entering barrier: %s (%d already there)", name,processes_arrived_sofar); - SIMIX_req_mutex_lock(mutex); + simcall_mutex_lock(mutex); if (++processes_arrived_sofar == communicator_size) { - SIMIX_req_cond_broadcast(cond); - SIMIX_req_mutex_unlock(mutex); + simcall_cond_broadcast(cond); + simcall_mutex_unlock(mutex); } else { - SIMIX_req_cond_wait(cond,mutex); - SIMIX_req_mutex_unlock(mutex); + simcall_cond_wait(cond,mutex); + simcall_mutex_unlock(mutex); } XBT_DEBUG("Exiting barrier: %s", name); processes_arrived_sofar--; if (!processes_arrived_sofar) { - SIMIX_req_cond_destroy(cond); - SIMIX_req_mutex_destroy(mutex); + simcall_cond_destroy(cond); + simcall_mutex_destroy(mutex); mutex=NULL; } - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); } @@ -383,8 +382,7 @@ static void action_sleep(const char *const *action) MSG_process_sleep(parse_double(duration)); XBT_VERB("%s %f ", name, MSG_get_clock() - clock); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); } static void action_allReduce(const char *const *action) { @@ -469,8 +467,7 @@ static void action_comm_size(const char *const *action) name = xbt_str_join_array(action, " "); communicator_size = parse_double(size); XBT_VERB("%s %f", name, MSG_get_clock() - clock); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); } static void action_compute(const char *const *action) @@ -486,8 +483,7 @@ static void action_compute(const char *const *action) MSG_task_execute(task); MSG_task_destroy(task); XBT_VERB("%s %f", name, MSG_get_clock() - clock); - if (XBT_LOG_ISENABLED(actions, xbt_log_priority_verbose)) - free(name); + free(name); } static void action_init(const char *const *action)