From 28745b9daec73dcf8b2137f14db8411772824d3b Mon Sep 17 00:00:00 2001 From: Sebastien Bourdeauducq Date: Thu, 24 Oct 2019 15:56:57 +0800 Subject: [PATCH] glasgow: terminate when stdout is closed Otherwise, it would keep attempting to write to stdout after the parent process had died, and cause a mess. --- glasgow-applet.diff | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/glasgow-applet.diff b/glasgow-applet.diff index a879a43..a95c419 100644 --- a/glasgow-applet.diff +++ b/glasgow-applet.diff @@ -32,10 +32,10 @@ index 35b8960..3f37b9f 100644 +from .logic import LogicApplet diff --git a/software/glasgow/applet/logic.py b/software/glasgow/applet/logic.py new file mode 100644 -index 0000000..c58de0b +index 0000000..3af2843 --- /dev/null +++ b/software/glasgow/applet/logic.py -@@ -0,0 +1,92 @@ +@@ -0,0 +1,94 @@ +import sys +import logging +import os @@ -121,6 +121,8 @@ index 0000000..c58de0b + while True: + data = await iface.read(65536) + output_stream.write(data) ++ if output_stream.is_closing(): ++ raise SystemExit("glasgow: stdout closed") + +# ------------------------------------------------------------------------------------------------ +