From 2910d5b3f6e519165628d6b255be22d67ced9f6b Mon Sep 17 00:00:00 2001 From: Vo Minh Thu Date: Wed, 30 Jan 2013 18:42:29 +0100 Subject: [PATCH] [REF] netsvc: close_socket is only used in wsgi_server, so move it there. bzr revid: vmt@openerp.com-20130130174229-myvtydv03iikt6k3 --- openerp/netsvc.py | 18 ------------------ openerp/service/wsgi_server.py | 21 ++++++++++++++++++++- 2 files changed, 20 insertions(+), 19 deletions(-) diff --git a/openerp/netsvc.py b/openerp/netsvc.py index a59ba85cfd4..14ee0d67215 100644 --- a/openerp/netsvc.py +++ b/openerp/netsvc.py @@ -49,24 +49,6 @@ import openerp _logger = logging.getLogger(__name__) -def close_socket(sock): - """ Closes a socket instance cleanly - - :param sock: the network socket to close - :type sock: socket.socket - """ - try: - sock.shutdown(socket.SHUT_RDWR) - except socket.error, e: - # On OSX, socket shutdowns both sides if any side closes it - # causing an error 57 'Socket is not connected' on shutdown - # of the other side (or something), see - # http://bugs.python.org/issue4397 - # note: stdlib fixed test, not behavior - if e.errno != errno.ENOTCONN or platform.system() not in ['Darwin', 'Windows']: - raise - sock.close() - class Service(object): """ Base class for Local services Functionality here is trusted, no authentication. diff --git a/openerp/service/wsgi_server.py b/openerp/service/wsgi_server.py index b76ac95e4b8..f55f9de6669 100644 --- a/openerp/service/wsgi_server.py +++ b/openerp/service/wsgi_server.py @@ -439,6 +439,25 @@ def stop_service(): """ if httpd: httpd.shutdown() - openerp.netsvc.close_socket(httpd.socket) + close_socket(httpd.socket) + +def close_socket(sock): + """ Closes a socket instance cleanly + + :param sock: the network socket to close + :type sock: socket.socket + """ + try: + sock.shutdown(socket.SHUT_RDWR) + except socket.error, e: + # On OSX, socket shutdowns both sides if any side closes it + # causing an error 57 'Socket is not connected' on shutdown + # of the other side (or something), see + # http://bugs.python.org/issue4397 + # note: stdlib fixed test, not behavior + if e.errno != errno.ENOTCONN or platform.system() not in ['Darwin', 'Windows']: + raise + sock.close() + # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: