class Handler(object): def __init__(self, server, _socket, l): self.l = l self.server = server self.f = ExceptionCatchingWrapper(IntSocketFile(_socket), self._on_exception) self.handler = LogServer.SocketHandler(self.f) self.socket = _socket self.running = True def _on_exception(self, attr, exc): if attr == 'send': self.interrupt() return 0 raise exc def interrupt(self): self.f.interrupt() self.running = False def handle(self): logging.getLogger('').addHandler(self.handler) while self.server.running and self.running: rs, ws, xs = self.server.selectPool.select((), (), (self.socket, )) if self.socket in xs: break def cleanup(self): logging.getLogger('').removeHandler(self.handler) self.socket.close()
class Handler(object): def __init__(self, server, _socket, l): self.l = l self.server = server self.f = ExceptionCatchingWrapper( IntSocketFile(_socket), self._on_exception) self.handler = LogServer.SocketHandler(self.f) self.socket = _socket self.running = True def _on_exception(self, attr, exc): if attr == 'send': self.interrupt() return 0 raise exc def interrupt(self): self.f.interrupt() self.running = False def handle(self): logging.getLogger('').addHandler(self.handler) while self.server.running and self.running: rs, ws, xs = self.server.selectPool.select( (), (), (self.socket,)) if self.socket in xs: break def cleanup(self): logging.getLogger('').removeHandler(self.handler) self.socket.close()
def __init__(self, server, _socket, l): self.l = l self.server = server self.f = ExceptionCatchingWrapper(IntSocketFile(_socket), self._on_exception) self.handler = LogServer.SocketHandler(self.f) self.socket = _socket self.running = True
def __init__(self, server, _socket, l): self.l = l self.server = server self.f = ExceptionCatchingWrapper( IntSocketFile(_socket), self._on_exception) self.handler = LogServer.SocketHandler(self.f) self.socket = _socket self.running = True