emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/plz 5cd6fa19fa: Fix: (plz-clear) Only kill live process


From: ELPA Syncer
Subject: [elpa] externals/plz 5cd6fa19fa: Fix: (plz-clear) Only kill live processes
Date: Fri, 30 Jun 2023 18:58:14 -0400 (EDT)

branch: externals/plz
commit 5cd6fa19fadc27e73d1ffa17508edea30877b328
Author: Adam Porter <adam@alphapapa.net>
Commit: Adam Porter <adam@alphapapa.net>

    Fix: (plz-clear) Only kill live processes
    
    Don't try to kill a process that has already finished.
---
 README.org |  1 +
 plz.el     |  3 ++-
 plz.info   | 31 ++++++++++++++++---------------
 3 files changed, 19 insertions(+), 16 deletions(-)

diff --git a/README.org b/README.org
index 49ac7a86c1..24f2b39d12 100644
--- a/README.org
+++ b/README.org
@@ -191,6 +191,7 @@ You may also clear a queue with ~plz-clear~, which cancels 
any active or queued
 + STDERR output from curl processes is not included in response bodies (which 
sometimes happened, depending on Emacs's internal race conditions).  (Fixes 
[[https://github.com/alphapapa/plz.el/issues/23][#23]].)
 + Use ~with-local-quit~ for synchronous requests (preventing Emacs from 
complaining sometimes).  (Fixes 
[[https://github.com/alphapapa/plz.el/issues/26][#26]].)
 + Various fixes for ~:as 'buffer~ result type: decode body when appropriate; 
unset multibyte for binary; narrow to body; don't kill buffer prematurely.
++ When clearing a queue, don't try to kill finished processes.
 
 *Internal*
 + Response processing now happens outside the process sentinel, so any errors 
(e.g. in user callbacks) are not signaled from inside the sentinel.  (This 
avoids the 2-second pause Emacs imposes in such cases.)
diff --git a/plz.el b/plz.el
index 1cc8f749a9..94b37d99b8 100644
--- a/plz.el
+++ b/plz.el
@@ -692,7 +692,8 @@ have their curl processes killed and their ELSE functions 
called
 with the corresponding data."
   (setf (plz-queue-canceled-p queue) t)
   (dolist (request (plz-queue-active queue))
-    (kill-process (plz-queued-request-process request))
+    (when (process-live-p (plz-queued-request-process request))
+      (kill-process (plz-queued-request-process request)))
     (setf (plz-queue-active queue) (delq request (plz-queue-active queue))))
   (dolist (request (plz-queue-requests queue))
     (funcall (plz-queued-request-else request)
diff --git a/plz.info b/plz.info
index dfa1a3a713..57434dcbf6 100644
--- a/plz.info
+++ b/plz.info
@@ -335,6 +335,7 @@ File: README.info,  Node: 07-pre,  Next: 06,  Up: Changelog
    • Various fixes for ‘:as 'buffer’ result type: decode body when
      appropriate; unset multibyte for binary; narrow to body; don’t kill
      buffer prematurely.
+   • When clearing a queue, don’t try to kill finished processes.
 
    *Internal*
    • Response processing now happens outside the process sentinel, so
@@ -550,21 +551,21 @@ Node: Queueing7448
 Node: Tips8831
 Node: Changelog9132
 Node: 07-pre9401
-Node: 0611219
-Node: 05411834
-Node: 05312077
-Node: 05212393
-Node: 05112600
-Node: 0512852
-Node: 0413058
-Node: 0313964
-Node: 02114412
-Node: 0214563
-Node: 0114694
-Node: Credits14790
-Node: Development15156
-Node: Copyright assignment15670
-Node: License16258
+Node: 0611289
+Node: 05411904
+Node: 05312147
+Node: 05212463
+Node: 05112670
+Node: 0512922
+Node: 0413128
+Node: 0314034
+Node: 02114482
+Node: 0214633
+Node: 0114764
+Node: Credits14860
+Node: Development15226
+Node: Copyright assignment15740
+Node: License16328
 
 End Tag Table
 



reply via email to

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