From 9db6b8fff7a69a2da072a04db2a588b951b96e37 Mon Sep 17 00:00:00 2001 From: Antoine Millet Date: Fri, 8 Jul 2011 14:29:52 +0200 Subject: [PATCH] Now try to disconnect an already connected cli while new client connection. --- ccserver/handlers.py | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/ccserver/handlers.py b/ccserver/handlers.py index 1f2f698..d99dc6d 100644 --- a/ccserver/handlers.py +++ b/ccserver/handlers.py @@ -891,9 +891,19 @@ class WelcomeHandler(CCHandler): role = 'host' create_object = True - try: - self._server.register(login, role, conn, create_object) - except AlreadyRegistered: + # Try to register the client: + for _ in xrange(5): + try: + self._server.register(login, role, conn, create_object) + except AlreadyRegistered: + if role == 'cli': + try: + self._server.kill(login) + except NotConnectedAccountError: + pass + else: + break + else: logging.warning(logmsg + 'already connected (%s)', conn.getpeername(), login) raise AuthenticationError('Already connected') -- GitLab