summaryrefslogtreecommitdiff
path: root/src/xterm.c
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 /src/xterm.c
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
Diffstat (limited to 'src/xterm.c')
-rw-r--r--src/xterm.c7
1 files changed, 7 insertions, 0 deletions
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");