diff --git a/src/kits/media/MediaNode.cpp b/src/kits/media/MediaNode.cpp index e9dbcea9da..ad7435792f 100644 --- a/src/kits/media/MediaNode.cpp +++ b/src/kits/media/MediaNode.cpp @@ -358,12 +358,12 @@ BMediaNode::WaitForMessage(bigtime_t waitUntil, ssize_t size; size = read_port_etc(ControlPort(), &message, data, sizeof(data), B_ABSOLUTE_TIMEOUT, waitUntil); - if (size <= 0) { - if (size == 0 && message == 0) - return B_OK; // a null message was received (to unblock the read) + if (size < 0) { if (size != B_TIMED_OUT) ERROR("BMediaNode::WaitForMessage: read_port_etc error 0x%08lx\n",size); - return size; // returns the error code + return size; // return the error code + } else if (size == 0 && message == 0) { + return B_OK; // a null message was received (to unblock the read) } PRINT(7, "BMediaNode::WaitForMessage %#lx, node %ld, this %p\n", message, fNodeID, this);