diff options
Diffstat (limited to 'src/tcp_socket.cpp')
-rw-r--r-- | src/tcp_socket.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/tcp_socket.cpp b/src/tcp_socket.cpp index e7a69e4..07159d8 100644 --- a/src/tcp_socket.cpp +++ b/src/tcp_socket.cpp @@ -79,7 +79,7 @@ int zmq::tcp_socket_t::write (const void *data, int size) // we'll get an error (this may happen during the speculative write). if (nbytes == SOCKET_ERROR && WSAGetLastError () == WSAEWOULDBLOCK) return 0; - + // Signalise peer failure. if (nbytes == -1 && ( WSAGetLastError () == WSAENETDOWN || @@ -119,7 +119,7 @@ int zmq::tcp_socket_t::read (void *data, int size) // Orderly shutdown by the other peer. if (nbytes == 0) - return -1; + return -1; return (size_t) nbytes; } @@ -200,6 +200,9 @@ int zmq::tcp_socket_t::write (const void *data, int size) if (nbytes == -1 && (errno == ECONNRESET || errno == EPIPE)) return -1; + if (nbytes == 1) + fprintf (stderr, "E: unhandled error on send: %d/%s\n", + errno, strerror (errno)); errno_assert (nbytes != -1); return (size_t) nbytes; } @@ -220,6 +223,9 @@ int zmq::tcp_socket_t::read (void *data, int size) errno == ETIMEDOUT || errno == EHOSTUNREACH)) return -1; + if (nbytes == 1) + fprintf (stderr, "E: unhandled error on recv: %d/%s\n", + errno, strerror (errno)); errno_assert (nbytes != -1); // Orderly shutdown by the other peer. |