diff options
| author | Paul Eggert | 2013-05-30 18:41:52 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-05-30 18:41:52 -0700 |
| commit | fc186a96df6853da2a94b76b40b6f3f8b24e52ac (patch) | |
| tree | ddfd14e63fbeb236be46628f69c2ebf57da3a632 /src | |
| parent | 0e64479a3aa321a1a44e2057eebbf5c378b7ad5c (diff) | |
| download | emacs-fc186a96df6853da2a94b76b40b6f3f8b24e52ac.tar.gz emacs-fc186a96df6853da2a94b76b40b6f3f8b24e52ac.zip | |
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')
| -rw-r--r-- | src/ChangeLog | 4 | ||||
| -rw-r--r-- | src/xterm.c | 7 |
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 @@ | |||
| 1 | 2013-05-31 Paul Eggert <eggert@cs.ucla.edu> | 1 | 2013-05-31 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 2 | ||
| 3 | Don't let D-bus autolaunch mess up SIGCHLD handling (Bug#14474). | ||
| 4 | * xterm.c (x_term_init): Inhibit D-Bus autolaunch if D-Bus is | ||
| 5 | not already configured. | ||
| 6 | |||
| 3 | * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447). | 7 | * fileio.c (Finsert_file_contents): Remove unused local (Bug#8447). |
| 4 | 8 | ||
| 5 | 2013-05-29 Eli Zaretskii <eliz@gnu.org> | 9 | 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) | |||
| 9897 | 9897 | ||
| 9898 | XSetLocaleModifiers (""); | 9898 | XSetLocaleModifiers (""); |
| 9899 | 9899 | ||
| 9900 | /* If D-Bus is not already configured, inhibit D-Bus autolaunch, | ||
| 9901 | as autolaunch can mess up Emacs's SIGCHLD handler. | ||
| 9902 | FIXME: Rewrite subprocess handlers to use glib's child watchers. | ||
| 9903 | See Bug#14474. */ | ||
| 9904 | if (! egetenv ("DBUS_SESSION_BUS_ADDRESS")) | ||
| 9905 | xputenv ("DBUS_SESSION_BUS_ADDRESS=unix:path=/dev/null"); | ||
| 9906 | |||
| 9900 | /* Emacs can only handle core input events, so make sure | 9907 | /* Emacs can only handle core input events, so make sure |
| 9901 | Gtk doesn't use Xinput or Xinput2 extensions. */ | 9908 | Gtk doesn't use Xinput or Xinput2 extensions. */ |
| 9902 | xputenv ("GDK_CORE_DEVICE_EVENTS=1"); | 9909 | xputenv ("GDK_CORE_DEVICE_EVENTS=1"); |