Issue #22435: Fix a file descriptor leak when SocketServer bind fails.

This commit is contained in:
Charles-François Natali 2014-10-13 19:28:50 +01:00
commit acbf5235b8
3 changed files with 18 additions and 2 deletions

View file

@ -270,6 +270,16 @@ class SocketServerTest(unittest.TestCase):
t.join()
s.server_close()
def test_tcpserver_bind_leak(self):
# Issue #22435: the server socket wouldn't be closed if bind()/listen()
# failed.
# Create many servers for which bind() will fail, to see if this result
# in FD exhaustion.
for i in range(1024):
with self.assertRaises(OverflowError):
socketserver.TCPServer((HOST, -1),
socketserver.StreamRequestHandler)
def test_main():
if imp.lock_held():