summaryrefslogtreecommitdiff
path: root/lisp/server.el
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/server.el')
-rw-r--r--lisp/server.el18
1 files changed, 17 insertions, 1 deletions
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.