Package: emacs;
Reported by: flitterio <at> gmail.com (Francis Litterio)
Date: Tue, 30 Jun 2015 03:25:02 UTC
Severity: normal
Tags: confirmed
Merged with 15990
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
From: flitterio <at> gmail.com (Francis Litterio) To: bug-gnu-emacs <at> gnu.org Subject: sleep-for wakes prematurely due to process output Date: Mon, 29 Jun 2015 23:18:19 -0400
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, but function wait_reading_process_output in process.c seems to be written to return prematurely when process output is received. Function wait_reading_process_output is used by sleep-for to implement the wait. To reproduce: 1. Launch Emacs with: runemacs.exe -Q 2. In buffer *scratch*, evaluate this form: (progn (start-process-shell-command "foo" "*scratch*" "sh -c 'sleep 5; echo hello; sleep 5'") (sleep-for 30) (insert "Woken from sleep-for!\n")) 3. Observe the text "Woken from sleep-for!" inserted after just 5 seconds instead of the expected 30 seconds. I found this, because calls to sleep-for were not sleeping for the expected duration when ERC was connected to an IRC server sending regular output over the network connection. -- Fran Litterio flitterio <at> gmail.com In GNU Emacs 25.0.50.1 (i686-pc-mingw32) of 2015-06-22 on PUPPY Repository revision: 567bf811dc83d4e2a770f602fc70df0874aa02e4 Windowing system distributor `Microsoft Corp.', version 6.1.7601 Configured using: `configure --prefix=c:/apps/emacs --without-x --without-xpm --without-png --without-jpeg --without-tiff --without-gif' Configured features: SOUND NOTIFY ACL TOOLKIT_SCROLL_BARS Important settings: value of $LANG: C.ISO-8859-1 locale-coding-system: cp1252 Major mode: Lisp Interaction Minor modes in effect: diff-auto-refine-mode: t show-paren-mode: t icomplete-mode: t savehist-mode: t shell-dirtrack-mode: t erc-list-mode: t erc-menu-mode: t erc-ring-mode: t erc-networks-mode: t erc-pcomplete-mode: t erc-track-mode: t erc-track-minor-mode: t erc-match-mode: t erc-button-mode: t erc-fill-mode: t erc-netsplit-mode: t erc-irccontrols-mode: t erc-noncommands-mode: t erc-move-to-prompt-mode: t erc-readonly-mode: t tooltip-mode: t global-eldoc-mode: t electric-indent-mode: t mouse-wheel-mode: t file-name-shadow-mode: t font-lock-mode: t auto-composition-mode: t auto-encryption-mode: t auto-compression-mode: t line-number-mode: t transient-mark-mode: t abbrev-mode: t Recent messages: Done "Done" Done "Done" Done "Done" Done "Done" Type "q" to delete help window. Load-path shadows: None found. Features: (shadow mail-extr emacsbug vc-git bug-reference add-log eieio-opt speedbar sb-image ezimage dframe find-func misearch multi-isearch sort server gnus-draft gnus-agent gnus-srvr nnvirtual nndraft nnmh gnus-msg gnus-cite canlock gnus-art mm-uu mml2015 epg-config mm-view mml-smime smime dig mailcap gnus-async gnus-score score-mode gnus-cache gnus-sum fpl-moo fpl-react erc-notify erc-truncate erc-log erc-dcc help-mode source-safe ediff-merg ediff-wind ediff-diff ediff-mult ediff-help ediff-init ediff-util ediff grep python json ielm sgml-mode csharp-mode cc-langs cl smtpmail sendmail nntp gnus-group gnus-undo gnus-start gnus-cloud nnimap nnmail mail-source utf7 netrc parse-time gnus-spec gnus-int gnus-range message rfc822 mml mml-sec mm-decode mm-bodies mm-encode mail-parse rfc2231 rfc2047 rfc2045 ietf-drums gmm-utils mailheader gnus-win nnoo gnus gnus-ems nnheader mail-utils etags xref vc vc-dispatcher dired-aux hexl smerge-mode diff-mode easy-mmode paren man info compile apropos tramp tramp-compat tramp-loaddefs trampver advice saveplace icomplete savehist browse-url shell warnings arc-mode archive-mode ange-ftp mailabbrev erc-list erc-menu erc-join erc-ring erc-networks erc-pcomplete pcomplete erc-track erc-match erc-button wid-edit erc-fill erc-stamp erc-netsplit erc-goodies erc erc-backend erc-compat format-spec thingatpt pp socks network-stream nsm auth-source cl-macs cl-seq eieio byte-opt gv bytecomp byte-compile cl-extra seq cconv eieio-core cl-loaddefs pcase cl-lib gnus-util mm-util help-fns mail-prsvr password-cache starttls tls dired cc-mode cc-fonts easymenu cc-guess cc-menus cc-cmds cc-styles cc-align cc-engine cc-vars cc-defs comint ansi-color ring calc-ext calc calc-loaddefs calc-macs time-stamp time-date mule-util tooltip eldoc electric uniquify ediff-hook vc-hooks lisp-float-type mwheel dos-w32 ls-lisp disp-table w32-win w32-vars term/common-win tool-bar dnd fontset image regexp-opt fringe tabulated-list newcomment elisp-mode lisp-mode prog-mode register page menu-bar rfn-eshadow timer select scroll-bar mouse jit-lock font-lock syntax facemenu font-core frame cl-generic cham georgian utf-8-lang misc-lang vietnamese tibetan thai tai-viet lao korean japanese eucjp-ms cp51932 hebrew greek romanian slovak czech european ethiopic indian cyrillic chinese charscript case-table epa-hook jka-cmpr-hook help simple abbrev minibuffer cl-preloaded nadvice loaddefs button faces cus-face macroexp files text-properties overlay sha1 md5 base64 format env code-pages mule custom widget hashtable-print-readable backquote w32notify w32 multi-tty make-network-process emacs) Memory information: ((conses 8 358284 96911) (symbols 32 43211 0) (miscs 32 151 1146) (strings 16 85786 24653) (string-bytes 1 2690860) (vectors 8 38720) (vector-slots 4 741449 110636) (floats 8 445 494) (intervals 28 13391 1964) (buffers 516 29))
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.