Make as sure as we can that the forked child does not return and
continue the tests.
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index f7b62a9..c27e69f 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -124,17 +124,20 @@
conn.close()
os._exit(0)
else:
- # child is client
- time.sleep(1)
- s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- if verbose:
- print 'child connecting'
- s.connect(hostname, PORT)
- msg = 'socket test'
- s.send(msg)
- data = s.recv(1024)
- if msg <> data:
- print 'parent/client mismatch'
- s.close()
+ try:
+ # child is client
+ time.sleep(1)
+ s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ if verbose:
+ print 'child connecting'
+ s.connect(hostname, PORT)
+ msg = 'socket test'
+ s.send(msg)
+ data = s.recv(1024)
+ if msg <> data:
+ print 'parent/client mismatch'
+ s.close()
+ finally:
+ os._exit(1)
except socket.error:
pass