summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/SocketCore.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/SocketCore.cc b/src/SocketCore.cc
index 37f6b397..efb5fc6a 100644
--- a/src/SocketCore.cc
+++ b/src/SocketCore.cc
@@ -1227,7 +1227,7 @@ ssize_t SocketCore::readDataFrom(void* data, size_t len, Endpoint& sender)
socklen_t sockaddrlen = sizeof(sockaddr);
ssize_t r;
r = readDataFrom(data, len, sockaddr, sockaddrlen);
- if (r != -1) {
+ if (r > 0 || (r == 0 && wantRead_ == false)) {
sender = util::getNumericNameInfo(&sockaddr.sa, sockaddrlen);
}
return r;