X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/5a918cbd59f64eddf384ac657201057ac311633a..4f5b9e125ac4d5e4fc68290eabf29366318c37b2:/src/msg/msg_mailbox.c diff --git a/src/msg/msg_mailbox.c b/src/msg/msg_mailbox.c index 97af3a11d4..d218c675e1 100644 --- a/src/msg/msg_mailbox.c +++ b/src/msg/msg_mailbox.c @@ -72,7 +72,6 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task, { xbt_ex_t e; MSG_error_t ret = MSG_OK; - volatile smx_action_t comm = NULL; /* We no longer support getting a task from a specific host */ if (host) THROW_UNIMPLEMENTED; @@ -92,9 +91,7 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task, /* Try to receive it by calling SIMIX network layer */ TRY { - comm = SIMIX_req_comm_irecv(mailbox, task, NULL, NULL, NULL); - SIMIX_req_comm_wait(comm, timeout); - (*task)->simdata->comm = comm; + SIMIX_req_comm_recv(mailbox, task, NULL, NULL, NULL, timeout); DEBUG2("Got task %s from %p",(*task)->name,mailbox); (*task)->simdata->isused=0; } @@ -114,9 +111,6 @@ MSG_mailbox_get_task_ext(msg_mailbox_t mailbox, m_task_t * task, } xbt_ex_free(e); } - if (comm != NULL) { - //SIMIX_req_comm_destroy(comm); - } #ifdef HAVE_TRACING if (ret != MSG_HOST_FAILURE && @@ -136,8 +130,8 @@ MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, m_task_t task, MSG_error_t ret = MSG_OK; simdata_task_t t_simdata = NULL; m_process_t process = MSG_process_self(); - volatile smx_action_t comm = NULL; #ifdef HAVE_TRACING + volatile smx_action_t comm = NULL; int call_end = 0; #endif CHECK_HOST(); @@ -161,13 +155,16 @@ MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, m_task_t task, /* Try to send it by calling SIMIX network layer */ TRY { +#ifdef HAVE_TRACING comm = SIMIX_req_comm_isend(mailbox, t_simdata->message_size, - t_simdata->rate, task, sizeof(void *), NULL, NULL, 0); + t_simdata->rate, task, sizeof(void *), NULL, NULL, 0); t_simdata->comm = comm; -#ifdef HAVE_TRACING SIMIX_req_set_category(comm, task->category); -#endif SIMIX_req_comm_wait(comm, timeout); +#else + SIMIX_req_comm_send(mailbox, t_simdata->message_size, + t_simdata->rate, task, sizeof(void*), NULL, NULL, timeout); +#endif } CATCH(e) { @@ -187,11 +184,7 @@ MSG_mailbox_put_with_timeout(msg_mailbox_t mailbox, m_task_t task, xbt_ex_free(e); /* If the send failed, it is not used anymore */ - t_simdata->isused=0; - } - - if (comm != NULL) { - //SIMIX_req_comm_destroy(comm); + t_simdata->isused = 0; } process->simdata->waiting_task = NULL;