summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2013-05-30 18:41:52 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2013-05-30 18:41:52 -0700
commitfc186a96df6853da2a94b76b40b6f3f8b24e52ac (patch)
treeddfd14e63fbeb236be46628f69c2ebf57da3a632
parent0e64479a3aa321a1a44e2057eebbf5c378b7ad5c (diff)
downloademacs-fc186a96df6853da2a94b76b40b6f3f8b24e52ac.tar.gz
Don't let D-bus autolaunch mess up SIGCHLD handling.
* xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is not already configured. Fixes: debbugs:14474
-rw-r--r--src/ChangeLog4
-rw-r--r--src/xterm.c7
2 files changed, 11 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index bfc51b8c5ff..5069811f12b 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2013-05-31 Paul Eggert <eggert@cs.ucla.edu>
+ Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474).
+ * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is
+ not already configured.
+
* fileio.c (Finsert_file_contents): Remove unused local (Bug#8447).
2013-05-29 Eli Zaretskii <eliz@gnu.org>
diff --git a/src/xterm.c b/src/xterm.c
index 7505aa3936b..7038de7039f 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -9897,6 +9897,13 @@ x_term_init (Lisp_Object display_name, char *xrm_option, char *resource_name)
XSetLocaleModifiers ("");
+ /* If D-Bus is not already configured, inhibit D-Bus autolaunch,
+ as autolaunch can mess up Emacs's SIGCHLD handler.
+ FIXME: Rewrite subprocess handlers to use glib's child watchers.
+ See Bug#14474. */
+ if (! egetenv ("DBUS_SESSION_BUS_ADDRESS"))
+ xputenv ("DBUS_SESSION_BUS_ADDRESS=unix:path=/dev/null");
+
/* Emacs can only handle core input events, so make sure
Gtk doesn't use Xinput or Xinput2 extensions. */
xputenv ("GDK_CORE_DEVICE_EVENTS=1");