- ssize_t res = recv(this->socket_, message, size, block ? 0 : MSG_DONTWAIT);
- if (res != -1)
- XBT_DEBUG("Receive %s", MC_message_type_name(*(MessageType*)message));
+ ssize_t res = recv(this->socket_, message, size, 0);
+ if (res != -1) {
+ if (is_valid_MessageType(*static_cast<int*>(message))) {
+ XBT_DEBUG("Receive %s (requested %zu; received %zd)", to_c_str(*static_cast<MessageType*>(message)), size, res);
+ } else {
+ XBT_DEBUG("Receive %zd bytes", res);
+ }
+ } else {
+ XBT_ERROR("Channel::receive failure: %s", strerror(errno));
+ }