From: Arnaud Giersch Date: Wed, 9 Feb 2011 15:29:08 +0000 (+0100) Subject: Make communicator::recv() inline. X-Git-Tag: v0.1~151 X-Git-Url: https://bilbo.iut-bm.univ-fcomte.fr/and/gitweb/loba.git/commitdiff_plain/5f9d773575a07c0dd024cfc323d034d6181da9b6?ds=sidebyside;hp=e9c3c48dfa8ea8ebddb2550a1cdd9981c8874bf8 Make communicator::recv() inline. --- diff --git a/communicator.cpp b/communicator.cpp index ce0e79f..fd01ac9 100644 --- a/communicator.cpp +++ b/communicator.cpp @@ -75,16 +75,6 @@ void communicator::flush(bool wait) } } -bool communicator::recv(message*& msg, m_host_t& from, double timeout) -{ - XBT_DEBUG("waiting for a message to come"); - bool recvd = received.pop(msg, from, timeout); - if (recvd) - XBT_DEBUG("received %s from %s", - msg->to_string().c_str(), MSG_host_get_name(from)); - return recvd; -} - void communicator::receiver() { xbt_dynar_t comms = xbt_dynar_new(sizeof(msg_comm_t), NULL); diff --git a/communicator.h b/communicator.h index ce74f07..f9d096a 100644 --- a/communicator.h +++ b/communicator.h @@ -24,7 +24,9 @@ public: // Try to get a message. Returns true on success. // Parameter "timeout" may be 0 for non-blocking operation, -1 for // infinite waiting, or any positive timeout. - bool recv(message*& msg, m_host_t& from, double timeout); + bool recv(message*& msg, m_host_t& from, double timeout) { + return received.pop(msg, from, timeout); + } private: // Myself diff --git a/messages.cpp b/messages.cpp index 2fa4861..0abf913 100644 --- a/messages.cpp +++ b/messages.cpp @@ -1,4 +1,9 @@ #include +#include + +XBT_LOG_EXTERNAL_DEFAULT_CATEGORY(comm); + +#include "misc.h" #include "messages.h" @@ -27,6 +32,7 @@ bool message_queue::pop(message*& msg, m_host_t& from, double timeout) mutex.acquire(); while (queue.empty() && (!deadline || deadline > MSG_get_clock())) { xbt_ex_t e; + XBT_DEBUG("waiting for a message to come"); TRY { if (deadline) cond.timedwait(mutex, deadline - MSG_get_clock()); @@ -51,5 +57,8 @@ bool message_queue::pop(message*& msg, m_host_t& from, double timeout) from = MSG_task_get_source(task); MSG_task_destroy(task); + XBT_DEBUG("received %s from %s", + msg->to_string().c_str(), MSG_host_get_name(from)); + return true; }