Subject: bug#14474: Using glib's g_file_monitor_file and g_file_monitor_directory

From: Paul Eggert <[email-masked]>
Date: Fri, 31 May 2013 12:24:52 -0700

On 05/31/13 11:39, Michael Albinus wrote:

> You've put the lines inside #ifdef USE_GTK. However, glib could be
> linked to Emacs without using gtk. We might need another check, like
> #ifdef USE_GLIB. This would be useful in other places, too.

That might make sense in the long run, if Emacs is built that way.
But as I understand it, currently Emacs links to glib only when
using Gtk, so the workaround is OK under the current framework.

> Furthermore, I'd wrap these lines with #ifdef HAVE_DBUS. If Emacs is
> compiled without D-Bus support, external processes could still use
> D-Bus via autolaunch. You suppress this possibility by overwriting
> $DBUS_SESSION_BUS_ADDRESS.

Can't the Emacs process autolaunch D-bus subprocesses even when it
HAVE_DBUS is not defined?  That is, some other toolkit that Emacs links to,
could autolaunch D-Bus.  So it wouldn't be safe to wrap the lines
with #ifdef HAVE_DBUS.

I do see the problem that you mention.  I think a better fix, though,
is to redo Emacs to use the glib child watcher code -- that will fix
the problem that you mention, along with the problem for Emacs itself.