Retry on broken pipe when writing to control

This commit is contained in:
Kovid Goyal
2020-12-08 10:24:09 +05:30
parent 62a0bdad07
commit 593eeaf9ea
+7 -2
View File
@@ -648,8 +648,13 @@ class ServerLoop(object):
if iswindows:
self.control_in.sendall(what)
else:
self.control_in.write(what)
self.control_in.flush()
try:
self.control_in.write(what)
self.control_in.flush()
except BrokenPipeError:
self.create_control_connection()
self.control_in.write(what)
self.control_in.flush()
def wakeup(self):
self.write_to_control(WAKEUP)