From: Lars Ingebrigtsen Date: Sat, 8 May 2021 12:22:30 +0000 (+0200) Subject: Don't delete socket on server exit if it was passed in X-Git-Tag: emacs-28.0.90~2550 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=53dfb51f55bf66bb939505c60d12952dd64820a7;p=emacs.git 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). --- 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)