summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lisp/server.el7
1 files changed, 6 insertions, 1 deletions
diff --git a/lisp/server.el b/lisp/server.el
index 220694f6cbf..17332a2b0a1 100644
--- a/lisp/server.el
+++ b/lisp/server.el
@@ -413,9 +413,14 @@ If CLIENT is non-nil, add a description of it to the logged message."
;; for possible servers before doing anything, so it *should* be ours.
(and (process-contact proc :server)
(eq (process-status proc) 'closed)
+ ;; If this variable is non-nil, the socket was passed in to
+ ;; Emacs, and not created by Emacs itself (for instance,
+ ;; created by systemd). In that case, don't delete the socket.
+ (not internal--daemon-sockname)
(ignore-errors
(delete-file (process-get proc :server-file))))
- (server-log (format "Status changed to %s: %s" (process-status proc) msg) proc)
+ (server-log (format "Status changed to %s: %s"
+ (process-status proc) msg) proc)
(server-delete-client proc))
(defun server--on-display-p (frame display)