diff options
Diffstat (limited to 'lisp/net/dbus.el')
-rw-r--r-- | lisp/net/dbus.el | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index 894d7c63787..c1222a66f66 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el @@ -34,12 +34,22 @@ ;; option "--without-dbus". Declare used subroutines and variables. (declare-function dbus-call-method "dbusbind.c") (declare-function dbus-call-method-asynchronously "dbusbind.c") +(declare-function dbus-init-bus "dbusbind.c") (declare-function dbus-method-return-internal "dbusbind.c") (declare-function dbus-method-error-internal "dbusbind.c") (declare-function dbus-register-signal "dbusbind.c") (defvar dbus-debug) (defvar dbus-registered-functions-table) +;; Initialize :system and :session buses. This adds their file +;; descriptors to input_wait_mask, in order to detect incoming +;; messages immediately. +;; We must avoid to call the function twice for a bus, because the +;; DBusWatch will be removed then. +(when (and (featurep 'dbusbind) (not (featurep 'dbus))) + (dbus-init-bus :system) + (dbus-init-bus :session)) + ;; Pacify byte compiler. (eval-when-compile (require 'cl)) |