|
Lines 207-217
class Client(signals.Provider, Translation):
Link Here
|
| 207 |
else: |
207 |
else: |
| 208 |
del self.__resend_queue[sock][0] |
208 |
del self.__resend_queue[sock][0] |
| 209 |
except socket.error as e: |
209 |
except socket.error as e: |
| 210 |
if e.errno in (errno.ECONNABORTED, errno.EISCONN, errno.ENOEXEC): |
210 |
if e.errno in (errno.ECONNABORTED, errno.EISCONN, errno.ENOEXEC, errno.EPIPE): |
| 211 |
# Error may happen if module process died and server tries to send request at the same time |
211 |
# Error may happen if module process died and server tries to send request at the same time |
| 212 |
# ECONNABORTED: connection reset by peer |
212 |
# ECONNABORTED: connection reset by peer |
| 213 |
# EISCONN: socket not connected |
213 |
# EISCONN: socket not connected |
| 214 |
# ENOEXEC: bad file descriptor |
214 |
# ENOEXEC: bad file descriptor |
|
|
215 |
# EPIPE: broken pipe |
| 215 |
CORE.info('Client: _resend: socket is damaged: %s' % str(e)) |
216 |
CORE.info('Client: _resend: socket is damaged: %s' % str(e)) |
| 216 |
self.signal_emit('closed') |
217 |
self.signal_emit('closed') |
| 217 |
return False |
218 |
return False |