Subject: bug#16519: 24.3.50; gfile notifications not received in batch mode

From: Michael Albinus <[email-masked]>
Date: Fri, 31 Jan 2014 17:00:18 +0100

Eli Zaretskii <[email-masked]> writes:

> Maybe we should have ert-sit-for, then, which does everything like
> sit-for, except relying on input-pending-p?

There is ert-async.el <https://github.com/rejeep/ert-async.el>. I like
this idea, although the timer loop applies only
accept-process-output. read-event shall be added, at least.

Maybe we should contact the author, whether he agrees to merge this code
into ert.el?

>> I remember. I've added the !HAVE_DBUS prepocessor statetements due to
>> Bug#11415. It was a similar situation, D-Bus events were not read in
>> batch mode. So we really need a changed handling of special events in
>> the main loop, instead of adding more preprocessor lines.
>
> I don't see why we would need a separate queue for special events.
> What we need, perhaps, is a way to peek at stdin to see whether
> there's some input ready to be gobbled.  Shouldn't select/pselect
> already provide that?  IOW, there should be no need to call getchar at
> all at this point.

Reading file notifications via gio does not use file descriptors, which
are handled via xg_select. The same will happen, if we switch to gdbus
or kdbus later on. That's why we might need another kind of mainloop integration.

I'm not too familiar with kbd_buffer_store_event and the mechanisms
behind. If we still could use them - OK.

Best regards, Michael.