[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#17647: 24.4.50; accept-process-output with process nil can miss outp
From: |
Jorgen Schaefer |
Subject: |
bug#17647: 24.4.50; accept-process-output with process nil can miss output |
Date: |
Tue, 3 Jun 2014 21:46:10 +0200 |
On Mon, 02 Jun 2014 16:21:56 -0700
Paul Eggert <eggert@cs.ucla.edu> wrote:
> Are you using gnutls?
Not that I know. ldd `which emacs` does not list any gnutls links.
> What does M-x list-processes say, in a buggy Emacs?
As this blocks input, I can't actually run M-x list-processes while
reproducing the problem. Running list-processes right after
set-process-query-on-exit and before accept-process-output in my
example says:
test run *temp*-447149 /dev/pts/5 bash -c echo foo ; sleep 5
I should add that process filters are called at the start of
`accept-process-output', but it still hangs. This is different from
what I thought was the case initially, but that was a debugging mistake
due to output not being updated until after `accept-process-output'
returns.
That is, with time stamps:
(with-temp-buffer
(let ((proc (start-process "test" (current-buffer) "bash" "-c"
"echo foo ; sleep 5")))
(set-process-query-on-exit-flag proc nil)
(set-process-filter proc (lambda (proc str)
(message "Filter: %s" (float-time))))
(message "Before: %s" (float-time))
(accept-process-output nil 2)
(message "After.: %s" (float-time))))
Before: 1401824504.1458359
Filter: 1401824504.148198
After.: 1401824506.146296
Regards,
Jorgen