patch 7.4.1256
Problem: On Mac sys.exit(0) doesn't kill the test server.
Solution: Use self.server.shutdown(). (Jun Takimoto)
diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py
index dbf9eb2..fb75938 100644
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -98,7 +98,8 @@
response = last_eval
elif decoded[1] == '!quit!':
# we're done
- sys.exit(0)
+ self.server.shutdown()
+ break
elif decoded[1] == '!crash!':
# Crash!
42 / 0
@@ -127,7 +128,6 @@
server_thread = threading.Thread(target=server.serve_forever)
# Exit the server thread when the main thread terminates
- server_thread.daemon = True
server_thread.start()
# Write the port number in Xportnr, so that the test knows it.
@@ -135,6 +135,7 @@
f.write("{}".format(port))
f.close()
- # Block here
print("Listening on port {}".format(port))
- server.serve_forever()
+
+ # Main thread terminates, but the server continues running
+ # until server.shutdown() is called.
diff --git a/src/version.c b/src/version.c
index 0f87c41..b318dc7 100644
--- a/src/version.c
+++ b/src/version.c
@@ -743,6 +743,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1256,
+/**/
1255,
/**/
1254,