summaryrefslogtreecommitdiffstats
path: root/src/testdir/test_channel.py
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-02-03 23:25:07 +0100
committerBram Moolenaar <Bram@vim.org>2016-02-03 23:25:07 +0100
commit3b05b135e3ee4cfd59983fd63461e8f7642c1713 (patch)
tree05d2d71092c388672c46c2e0ed09ed275c3aa5dc /src/testdir/test_channel.py
parent608a8919cae982cb38e38725a843df47b234dae6 (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.py14
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