Commit 3320fe8e authored by Antoine Millet's avatar Antoine Millet
Browse files

Fixed bug when recving on an "empty" socket.

parent 7ae1d6eb
Loading
Loading
Loading
Loading
+12 −3
Original line number Diff line number Diff line
@@ -113,8 +113,17 @@ class RpcConnection(object):
        decoded, do it and pass result to :meth:`dispatch` method.
        '''

        try:
            buf = self._sock.recv(RpcConnection.RECV_BUF_SIZE)
        except socket.error as err:
            if err.errno == 11:
                # Errno 11 -> retry again
                logging.warning('Non critical error while reading a socket:'
                                ' %r', err)
                return

        if not buf:
            # Empty buffer = closed socket.
            raise socket.error()

        self._inbound_buffer.push(buf)