From 3b25b83c3bf153cc4cc048082dd301280b68cecc Mon Sep 17 00:00:00 2001 From: Antoine Millet Date: Mon, 31 Jan 2011 18:00:11 +0100 Subject: [PATCH] FIxed bug with client disconnection. --- sjrpc/server/simple.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/sjrpc/server/simple.py b/sjrpc/server/simple.py index d46c703..fb2f584 100644 --- a/sjrpc/server/simple.py +++ b/sjrpc/server/simple.py @@ -45,8 +45,12 @@ class SimpleRpcServer(ConnectionManager): conn = self._clients.get(fd) self._poll.unregister(fd) if fd is not None: - del self._clients[fd] - conn.shutdown(callback=self._on_disconnect) + try: + del self._clients[fd] + except KeyError: + pass + if conn is not None: + conn.shutdown(callback=self._on_disconnect) def all_connections(self): return set(self._clients.values()) -- GitLab