GNU bug report logs -
#20935
sleep-for wakes prematurely due to process output
Previous Next
Full log
View this message in rfc822 format
[Message part 1 (text/plain, inline)]
Your bug report
#20935: Bug-report: `sleep-for' doesn't sleep for expected period, maybe after async process invocation.
which was filed against the emacs package, has been closed.
The explanation is attached below, along with your original report.
If you require more details, please reply to 15990 <at> debbugs.gnu.org.
--
20935: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20935
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
> From: Glenn Morris <rgm <at> gnu.org>
> Date: Mon, 29 Jun 2015 23:41:18 -0400
> Cc: 20935 <at> debbugs.gnu.org
>
> Francis Litterio wrote:
>
> > On Windows, using the latest sources, function sleep-for is woken
> > prematurely by process (or network connection) output. I'm not sure if
> > this also happens on UNIX,
>
> Yes, it's the unaddressed http://debbugs.gnu.org/15990 .
Sorry, I completely forgot about that problem (it was still in my
queue).
Now fixed in commit 3bea77f.
[Message part 3 (message/rfc822, inline)]
Hi, Emacs developers.
* Bug description
`sleep-for' ends too early, by not sleeping for the expected time. It's speculated that it's caused by a termination of an asynchronous process. [1]
This bug does not always reproduce, but it often does.
[1] http://stackoverflow.com/questions/14698081/elisp-sleep-for-doesnt-block-when-running-a-test-in-ert
* Environment
Gentoo Linux, Emacs-24.3 and 24.1.
Debian Linux, Emacs-23.2
MacOS X, too, according to a page. [1]
* Code to reproduce the bug
Do "emacs -q" and run the code below. It uses an external Unix command "sleep".
It has a line `(sleep-for 3)', but it *often* ends immediately. The last line judges the result so that you don't need a timer watch to confirm.
As far as I tested, the bug shows 100%, but if the bug doesn't reproduce, well, please try several times, or another environment. ;-) (With the original code where I first met this problem, the bug occurrence rate exceeds 50%.)
------------------------------------------------------------------------
(let ((buf "*sleep-for test*")
(now (cadr (current-time))))
(start-process "test" buf "sleep" "0.1")
(sleep-for 3)
(message "This should be t: %s" (< now (- (cadr (current-time)) 3))))
------------------------------------------------------------------------
* Others
The following bug report may be related. Not sure.
http://debbugs.gnu.org/cgi/bugreport.cgi?bug=6202
I think I can compile the bzr latest snapshot. (But it takes me 20 min. to compile 24.3. :P)
Thank you very much. Best regards,
Teika (Teika kazura)
This bug report was last modified 10 years and 14 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.