From 1983255ac6aeff374b36de56ce6666e2388cc890 Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Fri, 8 Jan 2010 16:12:34 +0000 Subject: SSLServer: Add file descriptor leak fix from 1.0.0 stable branch Signed-off-by: Sol Jerome git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@5664 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/SSLServer.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/lib/SSLServer.py b/src/lib/SSLServer.py index 2bdb5ea73..ff2b1958c 100644 --- a/src/lib/SSLServer.py +++ b/src/lib/SSLServer.py @@ -129,12 +129,16 @@ class SSLServer (SocketServer.TCPServer, object): def get_request(self): (sock, sockinfo) = self.socket.accept() - sock.settimeout(90) sslsock = ssl.wrap_socket(sock, server_side=True, certfile=self.certfile, keyfile=self.keyfile, cert_reqs=self.mode, ca_certs=self.ca, ssl_version=self.ssl_protocol) return sslsock, sockinfo + def close_request(self, request): + request.unwrap() + request.shutdown(2) + request.close() + def _get_url(self): port = self.socket.getsockname()[1] hostname = socket.gethostname() @@ -223,9 +227,6 @@ class XMLRPCRequestHandler (SimpleXMLRPCServer.SimpleXMLRPCRequestHandler): self.wfile.flush() self.wfile.close() self.rfile.close() - self.connection.unwrap() - self.connection.close() - os.close(self.connection.fileno()) class XMLRPCServer (SocketServer.ThreadingMixIn, SSLServer, XMLRPCDispatcher, object): -- cgit v1.2.3-1-g7c22