From 53dfb51f55bf66bb939505c60d12952dd64820a7 Mon Sep 17 00:00:00 2001 From: Lars Ingebrigtsen Date: Sat, 8 May 2021 14:22:30 +0200 Subject: [PATCH] Don't delete socket on server exit if it was passed in * lisp/server.el (server-sentinel): Don't delete the socket if it was passed in to Emacs (bug#47511). --- lisp/server.el | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) 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) -- 2.39.2