From 4b7d1becefb1e29df17f9ba0a3e1b842085c28e4 Mon Sep 17 00:00:00 2001 From: JavaZeroo <71128095+JavaZeroo@users.noreply.github.com> Date: Sat, 31 Oct 2026 18:44:48 +0800 Subject: [PATCH] diag(shell): record whether frame.bmp existed at the deadline refs #97 The frame is written only after closing, closed and drained, so its presence separates an unfinished teardown from a returned process. --- experiments/shell/run.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/experiments/shell/run.py b/experiments/shell/run.py index dc054577..2fe7143b 100644 --- a/experiments/shell/run.py +++ b/experiments/shell/run.py @@ -484,6 +484,10 @@ def execute(exe, mode, out, timeout=40, settings_source=None, *, resources=False record["timed_out"] = False except subprocess.TimeoutExpired: record["timed_out"] = True + # #97: frame.bmp is only written once closing/closed/drained all hold, + # so its presence at the deadline separates a destroyed window from a + # teardown that never finished. + record["frame_at_timeout"] = (out / "frame.bmp").is_file() record["job_at_timeout"] = job.accounting() job.terminate() stdout, stderr = process.communicate(timeout=10)