It seems we are just not catching and suppressing the client disconnecting. We already trap for except self._socket_timeout: # just check if we're asked to stop pass except self._socket_error, e: # if the socket is closed by stop_background_thread # we might get a EBADF here, any other socket errors # should get logged. if e.args[0] != errno.EBADF: trace.warning("listening socket error: %s", e)
I suppose it is also possible that it is the SmartServerSocketStreamMedium which needs the exception trapping.
It seems we are just not catching and suppressing the client disconnecting. We already trap for
except self._socket_ timeout:
# just check if we're asked to stop
pass
except self._socket_error, e:
# if the socket is closed by stop_background _thread
# we might get a EBADF here, any other socket errors
# should get logged.
if e.args[0] != errno.EBADF:
trace.warning( "listening socket error: %s", e)
I suppose it is also possible that it is the SmartServerSock etStreamMedium which needs the exception trapping.