From 4b573dd1126a512d21f37375260146ededc23232 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 27 Apr 2008 16:25:29 +0200 Subject: [PATCH] Fix disconnect function for bad socket --- tryton/pysocket.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/tryton/pysocket.py b/tryton/pysocket.py index e15344eeb5..fb36b27326 100644 --- a/tryton/pysocket.py +++ b/tryton/pysocket.py @@ -73,17 +73,24 @@ class PySocket: def disconnect(self): try: - if self.secure: - if hasattr(socket, 'SHUT_RDWR'): - self.socket.sock_shutdown(socket.SHUT_RDWR) - else: - self.socket.sock_shutdown(2) + if self.ssl: + try: + if hasattr(socket, 'SHUT_RDWR'): + self.ssl_sock.sock_shutdown(socket.SHUT_RDWR) + else: + self.ssl_sock.sock_shutdown(2) + except: + pass + self.ssl_sock.close() else: - if hasattr(socket, 'SHUT_RDWR'): - self.socket.shutdown(socket.SHUT_RDWR) - else: - self.socket.shutdown(2) - self.sock.close() + try: + if hasattr(socket, 'SHUT_RDWR'): + self.sock.shutdown(socket.SHUT_RDWR) + else: + self.sock.shutdown(2) + except: + pass + self.sock.close() except: pass