+from plomrogue.errors import BrokenSocketConnection
class PlomSocket:
def __init__(self, socket):
<http://stackoverflow.com/q/34919846>
"""
- from plomrogue.errors import BrokenSocketConnection
escaped_message = ''
for char in message:
if char in ('\\', '$'):
data = b''
msg = b''
while True:
- data = self.socket.recv(1024)
+ try:
+ data = self.socket.recv(1024)
+ except OSError as err:
+ if err.errno == 9: # "Bad file descriptor", when connection broken
+ raise BrokenSocketConnection
if 0 == len(data):
break
for c in data: