From 44954c2f94bf24ed1eaece22da665c088109efa3 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Wed, 19 Sep 2007 02:00:54 +0000 Subject: (server-running-p): New function. --- lisp/server.el | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'lisp/server.el') diff --git a/lisp/server.el b/lisp/server.el index 5c44986bb2c..f22d693ffaa 100644 --- a/lisp/server.el +++ b/lisp/server.el @@ -391,7 +391,8 @@ message." (server-log (format "server-handle-suspend-tty, terminal %s" terminal) proc) (condition-case err (server-send-string proc "-suspend \n") - (file-error (ignore-errors (server-delete-client proc)))))) + (file-error ;The pipe/socket was closed. + (ignore-errors (server-delete-client proc)))))) (defun server-unquote-arg (arg) "Remove &-quotation from ARG. @@ -526,6 +527,21 @@ kill any existing server communications subprocess." " " (int-to-string (emacs-pid)) "\n" auth-key))))))))) +(defun server-running-p (&optional name) + "Test whether server NAME is running." + (interactive + (list (if current-prefix-arg + (read-string "Server name: " nil nil server-name)))) + (unless name (setq name server-name)) + (condition-case nil + (progn + (delete-process + (make-network-process + :name "server-client-test" :family 'local :server nil :noquery t + :service (expand-file-name name server-socket-dir))) + t) + (file-error nil))) + ;;;###autoload (define-minor-mode server-mode "Toggle Server mode. -- cgit v1.2.1