unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
* bug#20935: sleep-for wakes prematurely due to process output
@ 2015-06-30  3:18 Francis Litterio
  2015-06-30  3:41 ` Glenn Morris
  0 siblings, 1 reply; 3+ messages in thread
From: Francis Litterio @ 2015-06-30  3:18 UTC (permalink / raw)
  To: 20935

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@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))





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20935: sleep-for wakes prematurely due to process output
  2015-06-30  3:18 bug#20935: sleep-for wakes prematurely due to process output Francis Litterio
@ 2015-06-30  3:41 ` Glenn Morris
  2015-06-30 16:11   ` Eli Zaretskii
  0 siblings, 1 reply; 3+ messages in thread
From: Glenn Morris @ 2015-06-30  3:41 UTC (permalink / raw)
  To: Francis Litterio; +Cc: 20935

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 .






^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#20935: sleep-for wakes prematurely due to process output
  2015-06-30  3:41 ` Glenn Morris
@ 2015-06-30 16:11   ` Eli Zaretskii
  0 siblings, 0 replies; 3+ messages in thread
From: Eli Zaretskii @ 2015-06-30 16:11 UTC (permalink / raw)
  To: Glenn Morris; +Cc: 20935-done, flitterio

> From: Glenn Morris <rgm@gnu.org>
> Date: Mon, 29 Jun 2015 23:41:18 -0400
> Cc: 20935@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.





^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-06-30 16:11 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-06-30  3:18 bug#20935: sleep-for wakes prematurely due to process output Francis Litterio
2015-06-30  3:41 ` Glenn Morris
2015-06-30 16:11   ` Eli Zaretskii

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).