emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

master 3aed4400257 1/2: Shut down jsonrpc server more gracefully


From: Eli Zaretskii
Subject: master 3aed4400257 1/2: Shut down jsonrpc server more gracefully
Date: Sat, 27 Apr 2024 05:19:47 -0400 (EDT)

branch: master
commit 3aed4400257a6762de96be37fa95357b5836363c
Author: Daniel Pettersson <daniel@dpettersson.net>
Commit: Eli Zaretskii <eliz@gnu.org>

    Shut down jsonrpc server more gracefully
    
    * lisp/jsonrpc.el (jsonrpc-running-p): Avoid unnecessarily killing
    the server process.  Suggested by Aaron Zeng <azeng@janestreet.com>.
    (Bug#70522)
---
 lisp/jsonrpc.el | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/jsonrpc.el b/lisp/jsonrpc.el
index 5037d8c5b2b..111e58cefe2 100644
--- a/lisp/jsonrpc.el
+++ b/lisp/jsonrpc.el
@@ -591,15 +591,18 @@ connection object, called when the process dies.")
 (cl-defmethod jsonrpc-shutdown ((conn jsonrpc-process-connection)
                                 &optional cleanup)
   "Wait for JSONRPC connection CONN to shutdown.
-With optional CLEANUP, kill any associated buffers."
+With optional CLEANUP, kill any associated buffers.
+If CONN is not shutdown within an reasonable amount of time, warn
+and delete process."
   (unwind-protect
       (cl-loop
        with proc = (jsonrpc--process conn) for i from 0
        while (not (process-get proc 'jsonrpc-sentinel-cleanup-started))
        unless (zerop i) do
        (jsonrpc--warn "Sentinel for %s still hasn't run, deleting it!" proc)
-       do
        (delete-process proc)
+       do
+       ;; Let sentinel have a chance to run
        (accept-process-output nil 0.1))
     (when cleanup
       (kill-buffer (process-buffer (jsonrpc--process conn)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]