emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hang in make check


From: Eli Zaretskii
Subject: Re: Hang in make check
Date: Mon, 29 Mar 2021 14:24:07 +0300

> Date: Mon, 29 Mar 2021 14:04:47 +0300
> From: Eli Zaretskii <eliz@gnu.org>
> Cc: noloader@gmail.com, emacs-devel@gnu.org
> 
> > >> Seems to have something to do with timers and timeouts.  This hangs:
> > >> 
> > >> (read-event nil nil 1)
> > >> 
> > >> when run in batch mode, apparently (instead of timing out after one
> > >> second).
> > >
> > > But that's not what the test does (if it did, it would have hanged for
> > > everyone, regardless of the build details).
> > 
> > It's not what the test does -- I was stating that this form hangs (when
> > in batch mode in this Emacs configuration).
> 
> Sorry for my misunderstanding.

I think the place where read-event hangs in that configuration is in
this fragment from keyboard.c:kbd_buffer_get_event:

 #if !defined HAVE_DBUS && !defined USE_FILE_NOTIFY && !defined THREADS_ENABLED
   if (noninteractive
       /* In case we are running as a daemon, only do this before
          detaching from the terminal.  */
       || (IS_DAEMON && DAEMON_RUNNING))
     {
       int c = getchar ();  <<<<<<<<<<<<<<<<<<<<<<<<<<
       XSETINT (obj, c);
       *kbp = current_kboard;
       return obj;
     }
 #endif /* !defined HAVE_DBUS && !defined USE_FILE_NOTIFY && !defined 
THREADS_ENABLED  */

But we still need to understand why this happens (if that's what
happens) in the real test, because AFAIU when unread-command-events is
non-nil, we were not supposed to get to this place, but instead return
the event in unread-command-events.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]