diff src/testdir/test_channel.py @ 7916:54602dcac207 v7.4.1254

commit https://github.com/vim/vim/commit/3b05b135e3ee4cfd59983fd63461e8f7642c1713 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Feb 3 23:25:07 2016 +0100 patch 7.4.1254 Problem: Opening a second channel causes a crash. (Ken Takata) Solution: Don't re-allocate the array with channels.
author Christian Brabandt <cb@256bit.org>
date Wed, 03 Feb 2016 23:30:04 +0100
parents 35973ce58c84
children ce5a7a613867
line wrap: on
line diff
--- a/src/testdir/test_channel.py
+++ b/src/testdir/test_channel.py
@@ -24,14 +24,10 @@ except ImportError:
     # Python 2
     import SocketServer as socketserver
 
-thesocket = None
-
 class ThreadedTCPRequestHandler(socketserver.BaseRequestHandler):
 
     def handle(self):
         print("=== socket opened ===")
-        global thesocket
-        thesocket = self.request
         while True:
             try:
                 received = self.request.recv(4096).decode('utf-8')
@@ -77,19 +73,19 @@ class ThreadedTCPRequestHandler(socketse
                         cmd = '["ex","call append(\\"$\\",\\"added1\\")"]'
                         cmd += '["ex","call append(\\"$\\",\\"added2\\")"]'
                         print("sending: {}".format(cmd))
-                        thesocket.sendall(cmd.encode('utf-8'))
+                        self.request.sendall(cmd.encode('utf-8'))
                         response = "ok"
                     elif decoded[1] == 'eval-works':
                         # Send an eval request.  We ignore the response.
                         cmd = '["eval","\\"foo\\" . 123", -1]'
                         print("sending: {}".format(cmd))
-                        thesocket.sendall(cmd.encode('utf-8'))
+                        self.request.sendall(cmd.encode('utf-8'))
                         response = "ok"
                     elif decoded[1] == 'eval-fails':
                         # Send an eval request that will fail.
                         cmd = '["eval","xxx", -2]'
                         print("sending: {}".format(cmd))
-                        thesocket.sendall(cmd.encode('utf-8'))
+                        self.request.sendall(cmd.encode('utf-8'))
                         response = "ok"
                     elif decoded[1] == 'eval-result':
                         # Send back the last received eval result.
@@ -105,14 +101,12 @@ class ThreadedTCPRequestHandler(socketse
 
                     encoded = json.dumps([decoded[0], response])
                     print("sending: {}".format(encoded))
-                    thesocket.sendall(encoded.encode('utf-8'))
+                    self.request.sendall(encoded.encode('utf-8'))
 
                 # Negative numbers are used for "eval" responses.
                 elif decoded[0] < 0:
                     last_eval = decoded
 
-        thesocket = None
-
 class ThreadedTCPServer(socketserver.ThreadingMixIn, socketserver.TCPServer):
     pass