From bca8a809ba953323a6659fbf6c52543109a1c8a3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A9dric=20Krier?= Date: Sun, 27 Apr 2008 16:25:11 +0200 Subject: [PATCH] Fix disconnect function for bad socket --- trytond/pysocket.py | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/trytond/pysocket.py b/trytond/pysocket.py index e15344eeb5..fb36b27326 100644 --- a/trytond/pysocket.py +++ b/trytond/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