From: Mukund Sivaraman Date: Tue, 10 Apr 2012 07:21:49 +0000 (+0530) Subject: [1828] Close open handles when done using them (contd.) X-Git-Tag: trac2351_base~226^2~42^2~1^2~25 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=fdb3dfbe8b71bb9a4d5414f7feb3307a8fd1cda6;p=thirdparty%2Fkea.git [1828] Close open handles when done using them (contd.) --- diff --git a/src/bin/xfrout/tests/xfrout_test.py.in b/src/bin/xfrout/tests/xfrout_test.py.in index b60535c49b..ab463d2c66 100644 --- a/src/bin/xfrout/tests/xfrout_test.py.in +++ b/src/bin/xfrout/tests/xfrout_test.py.in @@ -1201,6 +1201,7 @@ class TestUnixSockServer(unittest.TestCase): self.assertEqual((socket.AF_INET, socket.SOCK_STREAM, ('127.0.0.1', 12345)), self.unix._guess_remote(sock.fileno())) + sock.close() if socket.has_ipv6: # Don't check IPv6 address on hosts not supporting them sock = socket.socket(socket.AF_INET6, socket.SOCK_DGRAM) @@ -1208,6 +1209,7 @@ class TestUnixSockServer(unittest.TestCase): self.assertEqual((socket.AF_INET6, socket.SOCK_STREAM, ('::1', 12345, 0, 0)), self.unix._guess_remote(sock.fileno())) + sock.close() # Try when pretending there's no IPv6 support # (No need to pretend when there's really no IPv6) xfrout.socket.has_ipv6 = False @@ -1218,6 +1220,7 @@ class TestUnixSockServer(unittest.TestCase): self.unix._guess_remote(sock.fileno())) # Return it back xfrout.socket.has_ipv6 = True + sock.close() def test_receive_query_message(self): send_msg = b"\xd6=\x00\x00\x00\x01\x00" @@ -1379,6 +1382,7 @@ class TestUnixSockServer(unittest.TestCase): old_stdout = sys.stdout sys.stdout = open(os.devnull, 'w') self.assertTrue(self.unix._sock_file_in_use(sock_file)) + sys.stdout.close() sys.stdout = old_stdout def test_remove_unused_sock_file_in_use(self): @@ -1395,7 +1399,7 @@ class TestUnixSockServer(unittest.TestCase): else: # This should never happen self.assertTrue(False) - + sys.stdout.close() sys.stdout = old_stdout def test_remove_unused_sock_file_dir(self): @@ -1411,6 +1415,7 @@ class TestUnixSockServer(unittest.TestCase): # This should never happen self.assertTrue(False) + sys.stdout.close() sys.stdout = old_stdout os.rmdir(dir_name) diff --git a/src/bin/xfrout/xfrout.py.in b/src/bin/xfrout/xfrout.py.in index 8f236ecf68..bbc6081e80 100755 --- a/src/bin/xfrout/xfrout.py.in +++ b/src/bin/xfrout/xfrout.py.in @@ -755,6 +755,9 @@ class UnixSockServer(socketserver_mixin.NoPollMixIn, socket.inet_pton(socket.AF_INET6, peer[0]) except socket.error: family = socket.AF_INET + + sock.close() + return (family, socket.SOCK_STREAM, peer) def finish_request(self, sock_fd, request_data): @@ -799,8 +802,10 @@ class UnixSockServer(socketserver_mixin.NoPollMixIn, sock = socket.socket(socket.AF_UNIX) sock.connect(sock_file) except socket.error as err: + sock.close() return False else: + sock.close() return True def shutdown(self): diff --git a/src/lib/python/isc/util/cio/tests/socketsession_test.py b/src/lib/python/isc/util/cio/tests/socketsession_test.py index 66b43d59e7..ab66e1a874 100644 --- a/src/lib/python/isc/util/cio/tests/socketsession_test.py +++ b/src/lib/python/isc/util/cio/tests/socketsession_test.py @@ -177,6 +177,9 @@ class TestForwarder(unittest.TestCase): client_sock.setblocking(True) client_sock.settimeout(10) self.assertEqual(TEST_DATA, client_sock.recv(len(TEST_DATA))) + client_sock.close() + + sock.close() def test_push_and_pop(self): # This is a straightforward port of C++ pushAndPop test.