From: Arnaud Giersch Date: Fri, 24 Mar 2023 13:02:57 +0000 (+0100) Subject: Strengthen debug messages on channel send/recv. X-Git-Tag: v3.34~270 X-Git-Url: http://bilbo.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/77f20b4b16bd2e505b5010a63d02d6ec027eacdd Strengthen debug messages on channel send/recv. --- diff --git a/src/mc/remote/Channel.cpp b/src/mc/remote/Channel.cpp index 57f8942a4c..37a3c7bd24 100644 --- a/src/mc/remote/Channel.cpp +++ b/src/mc/remote/Channel.cpp @@ -26,19 +26,20 @@ Channel::~Channel() /** @brief Send a message; returns 0 on success or errno on failure */ int Channel::send(const void* message, size_t size) const { + if (size >= sizeof(int) && is_valid_MessageType(*static_cast(message))) { + XBT_DEBUG("Sending %s (%zu bytes sent)", to_c_str(*static_cast(message)), size); + } else { + XBT_DEBUG("Sending bytes directly (from address %p) (%zu bytes sent)", message, size); + if (size == 0) + XBT_WARN("Request to send a 0-sized message! Proceeding anyway."); + } + while (::send(this->socket_, message, size, 0) == -1) { if (errno != EINTR) { XBT_ERROR("Channel::send failure: %s", strerror(errno)); return errno; } } - - if (is_valid_MessageType(*static_cast(message))) { - XBT_DEBUG("Sending %s (%zu bytes sent)", to_c_str(*static_cast(message)), size); - } else { - XBT_DEBUG("Sending bytes directly (from address %p) (%zu bytes sent)", message, size); - } - return 0; } @@ -46,7 +47,7 @@ ssize_t Channel::receive(void* message, size_t size) const { ssize_t res = recv(this->socket_, message, size, 0); if (res != -1) { - if (is_valid_MessageType(*static_cast(message))) { + if (static_cast(res) >= sizeof(int) && is_valid_MessageType(*static_cast(message))) { XBT_DEBUG("Receive %s (requested %zu; received %zd)", to_c_str(*static_cast(message)), size, res); } else { XBT_DEBUG("Receive %zd bytes", res);