diff options
Diffstat (limited to 'bin/tiny_socket.py')
| -rw-r--r-- | bin/tiny_socket.py | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/bin/tiny_socket.py b/bin/tiny_socket.py index 44f7db04f01..6a0d9371ef5 100644 --- a/bin/tiny_socket.py +++ b/bin/tiny_socket.py @@ -61,7 +61,15 @@ class mysocket: def mysend(self, msg, exception=False, traceback=None): msg = cPickle.dumps([msg,traceback]) - self.sock.sendall('%8d%s%s' % (len(msg), exception and "1" or "0", msg)) + size = len(msg) + self.sock.send('%8d' % size) + self.sock.send(exception and "1" or "0") + totalsent = 0 + while totalsent < size: + sent = self.sock.send(msg[totalsent:]) + if sent == 0: + raise RuntimeError, "socket connection broken" + totalsent = totalsent + sent def myreceive(self): buf='' |
