--- socket.py 2007/01/04 21:11:39 1.1 +++ socket.py 2007/01/04 21:20:48 @@ -60,6 +60,8 @@ except ImportError: EBADF = 9 +from errno import EINTR + __all__ = ["getfqdn"] __all__.extend(os._get_exports_list(_socket)) if _have_ssl: @@ -322,7 +324,12 @@ buffers = [] recv = self._sock.recv while data != "\n": - data = recv(1) + try: + data = recv(1) + except error, err: + if err[0] == EINTR: + continue + raise if not data: break buffers.append(data) @@ -337,7 +344,12 @@ buffers.append(data) self._rbuf = "" while True: - data = self._sock.recv(self._rbufsize) + try: + data = self._sock.recv(self._rbufsize) + except error, err: + if err[0] == EINTR: + continue + raise if not data: break buffers.append(data) @@ -364,7 +376,12 @@ buffers.append(data) self._rbuf = "" while True: - data = self._sock.recv(self._rbufsize) + try: + data = self._sock.recv(self._rbufsize) + except error, err: + if err[0] == EINTR: + continue + raise if not data: break buffers.append(data)