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. | 
