summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--digital/ai/tools/test_simu.py10
-rw-r--r--host/proto/popen_io.py2
2 files changed, 10 insertions, 2 deletions
diff --git a/digital/ai/tools/test_simu.py b/digital/ai/tools/test_simu.py
index dc8b9481..330541e2 100644
--- a/digital/ai/tools/test_simu.py
+++ b/digital/ai/tools/test_simu.py
@@ -66,8 +66,14 @@ class TestSimu (InterNode):
for prog in r.protos:
prog.async = True
def prog_read (f, mask, prog = prog):
- prog.proto.read ()
- prog.proto.sync ()
+ try:
+ prog.proto.read ()
+ prog.proto.sync ()
+ except EOFError:
+ print "Connection closed"
+ self.tk.deletefilehandler (prog)
+ self.play_var.set (0)
+ self.play ()
self.tk.createfilehandler (prog, READABLE, prog_read)
# Add table.
self.table_model = robot_class.table_model.Table ()
diff --git a/host/proto/popen_io.py b/host/proto/popen_io.py
index 0f582802..a9051cc7 100644
--- a/host/proto/popen_io.py
+++ b/host/proto/popen_io.py
@@ -37,6 +37,8 @@ class PopenIO:
def read (self, *args):
buf = self.fin.read (*args).replace ('\n', '\r')
+ if not buf:
+ raise EOFError
return buf
def write (self, *args):