GNU bug report logs -
#33839
26.1.90; Emacs occasionally fails to receive asynchronous subprocess output in batch mode
Previous Next
Reported by: Philipp <p.stephani2 <at> gmail.com>
Date: Sun, 23 Dec 2018 02:30:03 UTC
Severity: normal
Fixed in version 26.1.90
Done: Paul Eggert <eggert <at> cs.ucla.edu>
Bug is archived. No further changes may be made.
Full log
Message #23 received at 33839 <at> debbugs.gnu.org (full text, mbox):
> From: Philipp Stephani <p.stephani2 <at> gmail.com>
> Date: Tue, 25 Dec 2018 17:41:17 +0100
> Cc: 33839 <at> debbugs.gnu.org
>
> > What happens if you do that unconditionally?
>
> You mean, without a while loop? It works in this specific case, but
> doesn't work in other cases, e.g. when a timer runs while the process
> is still running.
> To make this work reliably, a loop is required because there's no
> guarantee that accept-process-output returns only when the process has
> finished.
What I meant was that this condition "refuses" to take output from the
subprocess if it has exited. I'm questioning the correctness of this,
since it could well be that the last portion of that output is still
buffered somewhere, even though we already got SIGCHLD.
I'm not sure I understand the example with a timer, but if in that
situation your program is willing to accept output even after the
subprocess already exited, does it work correctly then?
This bug report was last modified 6 years and 143 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.