[Top][All Lists]

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

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

From: Michael Albinus
Subject: bug#16519: 24.3.50; gfile notifications not received in batch mode
Date: Fri, 24 Jan 2014 12:23:44 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3.50 (gnu/linux)

Eli Zaretskii <address@hidden> writes:

>> File notifications via gfilenotify are not received in batch
>> mode. Likely, the following actions must be taken (quoting Jan Djärv):
>>   So just switching to xg_select will not do.  You have to explicitly
>>   check if in batch mode, then check if GLib has file descriptors we
>>   don't know about, and then call xg_select in the main thread.
> You will see that I needed to do something very similar for the w32
> build.

Thanks for the pointer.

However, gio's file notifications are not handled by selects, AFAIU. The
events are put into the main context of glib, and must be read by

In the interactive case, this is done by xg_select indeed, but that is
activated by other file descriptors not related to the file
notifications machinery. So we must apply g_main_context_dispatch
somewhere in Emacs' main loop, when we are in noninteractive mode.

I'm not so skilled with the main loop, so I have no idea where to
do. When I add something like this in wait_reading_process_output, I
don't get the file notification events, but an error message:

#if defined (HAVE_GLIB)
      if (noninteractive)
        GMainContext *context;
        context = g_main_context_default ();
        while (g_main_context_pending (context))
          g_main_context_dispatch (context);

The error message is

(file-error "Failed select" "resource temporarily unavailable")

I don't know what to check further :-( Maybe some missing initialization?

Best regards, Michael.

reply via email to

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