unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Eli Zaretskii <eliz@gnu.org>
To: Lars Magne Ingebrigtsen <larsi@gnus.org>
Cc: emacs-devel@gnu.org
Subject: Re: Timers and sentinels
Date: Sun, 26 Sep 2010 09:20:30 -0400	[thread overview]
Message-ID: <E1Ozr9a-0006Jq-SA@fencepost.gnu.org> (raw)
In-Reply-To: <m3d3s0zpjv.fsf@quimbies.gnus.org> (message from Lars Magne Ingebrigtsen on Sun, 26 Sep 2010 13:56:20 +0200)

> From: Lars Magne Ingebrigtsen <larsi@gnus.org>
> Date: Sun, 26 Sep 2010 13:56:20 +0200
> Mail-Copies-To: never
> 
> Uday S Reddy <u.s.reddy@cs.bham.ac.uk> writes:
> 
> > Whenever the "main" Emacs thread does an accept-process-output or
> > sit-for, timer tasks can run.  I was also bitten by this issue a few
> > times.  It is important that the timer tasks be short and refrain from
> > changing any important state that might affect the main thread.
> 
> Hm.  Yes, nothing will be preempted unless they call sit-for or
> accept-process-output or the like in the main thread, so it sounds
> unlikely that a timer task will be preempted unless the same occurs.
> Which it doesn't, so there must be a different kind of bug in the
> code... 

Before you conclude that your initial guess was wrong, there's one
more factor to consider: signals.  When a subprocess exits, Emacs gets
a SIGCHLD signal, which is an asynchronous event.  There are also the
SIGALRM signals caused by the hourglass-cursor feature.  Not sure if
this can explain the issue you are dealing with, but I though I'd
mention it just in case.



  reply	other threads:[~2010-09-26 13:20 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-25 13:49 Timers and sentinels Lars Magne Ingebrigtsen
2010-09-26 11:09 ` Uday S Reddy
2010-09-26 11:56   ` Lars Magne Ingebrigtsen
2010-09-26 13:20     ` Eli Zaretskii [this message]
2010-09-26 13:24       ` Lars Magne Ingebrigtsen
2010-09-26 15:19         ` Helmut Eller
2010-09-26 18:36         ` Eli Zaretskii
2010-09-26 18:53           ` Lars Magne Ingebrigtsen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=E1Ozr9a-0006Jq-SA@fencepost.gnu.org \
    --to=eliz@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=larsi@gnus.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).