diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-02-03 23:25:07 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-02-03 23:25:07 +0100 |
commit | 3b05b135e3ee4cfd59983fd63461e8f7642c1713 (patch) | |
tree | 05d2d71092c388672c46c2e0ed09ed275c3aa5dc /src/testdir/test_channel.py | |
parent | 608a8919cae982cb38e38725a843df47b234dae6 (diff) |
patch 7.4.1254v7.4.1254
Problem: Opening a second channel causes a crash. (Ken Takata)
Solution: Don't re-allocate the array with channels.
Diffstat (limited to 'src/testdir/test_channel.py')
-rw-r--r-- | src/testdir/test_channel.py | 14 |
1 files changed, 4 insertions, 10 deletions
diff --git a/src/testdir/test_channel.py b/src/testdir/test_channel.py index 3133c2f408..f1d774fd11 100644 --- 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(socketserver.BaseRequestHandler): 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(socketserver.BaseRequestHandler): 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 |