From: Michael Albinus Date: Tue, 25 Aug 2009 10:13:54 +0000 (+0000) Subject: * net/dbus.el (dbus-ping): Add optional parameter TIMEOUT. X-Git-Tag: emacs-pretest-23.1.90~1687 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=93fb0645d6ab5d42f9cf6943b476f44ad0d0ae82;p=emacs.git * net/dbus.el (dbus-ping): Add optional parameter TIMEOUT. --- diff --git a/lisp/net/dbus.el b/lisp/net/dbus.el index ccda21a2d22..6f829c6f709 100644 --- a/lisp/net/dbus.el +++ b/lisp/net/dbus.el @@ -493,13 +493,26 @@ The result is either a string, or `nil' if there is no name owner." bus dbus-service-dbus dbus-path-dbus dbus-interface-dbus "GetNameOwner" service))) -(defun dbus-ping (bus service) - "Check whether SERVICE is registered for D-Bus BUS." +(defun dbus-ping (bus service &optional timeout) + "Check whether SERVICE is registered for D-Bus BUS. +TIMEOUT, a nonnegative integer, specifies the maximum number of +milliseconds `dbus-ping' must return. The default value is 25,000. + +Note, that this autoloads SERVICE if it is not running yet. If +it shall be checked whether SERVICE is already running, one shall +apply + + \(member service \(dbus-list-known-names bus))" ;; "Ping" raises a D-Bus error if SERVICE does not exist. ;; Otherwise, it returns silently with `nil'. (condition-case nil (not - (dbus-call-method bus service dbus-path-dbus dbus-interface-peer "Ping")) + (if (natnump timeout) + (dbus-call-method + bus service dbus-path-dbus dbus-interface-peer + "Ping" :timeout timeout) + (dbus-call-method + bus service dbus-path-dbus dbus-interface-peer "Ping"))) (dbus-error nil)))