# HG changeset patch # User Christian Brabandt # Date 1454541304 -3600 # Node ID 1ebc7be4dbbff9122d6410bca93e54dc8ca186ab # Parent 35bbb211901fbb8f6d61d6cc4efeb5bd4d02f91b commit https://github.com/vim/vim/commit/b3e2f00f39d6edafda6e5508a926ebd244997a0f Author: Bram Moolenaar Date: Thu Feb 4 00:11:37 2016 +0100 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 --- a/src/testdir/test_channel.py +++ b/src/testdir/test_channel.py @@ -98,7 +98,8 @@ class ThreadedTCPRequestHandler(socketse 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 @@ if __name__ == "__main__": 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 @@ if __name__ == "__main__": 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 --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1256, +/**/ 1255, /**/ 1254,