[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[shepherd] 05/05: Update 'NEWS'.
From: |
Ludovic Courtès |
Subject: |
[shepherd] 05/05: Update 'NEWS'. |
Date: |
Wed, 16 Nov 2022 18:00:59 -0500 (EST) |
civodul pushed a commit to branch master
in repository shepherd.
commit 4c031cf4fdb6d2502cc65f0ea98aefc2069ab2ee
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Wed Nov 16 23:57:31 2022 +0100
Update 'NEWS'.
---
NEWS | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/NEWS b/NEWS
index 1a1aa67..59f4c38 100644
--- a/NEWS
+++ b/NEWS
@@ -11,6 +11,46 @@ Copyright © 2013-2014, 2016, 2018-2020, 2022 Ludovic Courtès
<ludo@gnu.org>
Please send Shepherd bug reports to bug-guix@gnu.org.
+* Changes in version 0.9.3
+
+** Service ‘stop’ is now synchronous
+ <https://issues.guix.gnu.org/58485>
+
+Previously, ‘herd stop SERVICE’ would send SIGTERM to the service’s process
+and immediately move on without waiting for the process to actually terminate.
+This could cause problems for example when running ‘herd restart SERVICE’:
+there was a possibility that a new instance of the service would be spawned
+before the previous one had terminated.
+
+This is now fixed: ‘stop’ only returns once the process has actually
+terminated. Furthermore, the destructor returned by ‘make-kill-destructor’
+sends SIGKILL after some grace period has expired if the process is still
+around; this is configurable with #:grace-period and
+‘default-process-termination-grace-period’.
+
+** Non-blocking replacement for ‘system*’
+ <https://issues.guix.gnu.org/56674>.
+
+Service code can now call ‘system*’ lightheartedly: shepherd installs a
+cooperative, non-blocking replacement for Guile’s ‘system*’ procedure.
+Concretely, it means that it’s OK to use ‘system*’, say, in the ‘start’ method
+of a service: it won’t block shepherd, one can still interact with it with
+‘herd’.
+
+** Fewer continuation barriers
+
+The ‘stop’ method of services, and ‘eval’ and ‘load’ actions of the ‘root’
+service, and a few other points acted as “continuation barriers”, meaning that
+user code would not be allowed to suspend the current fiber for example by
+calling the ‘sleep’ procedure from (fiber). These limitations have been
+lifted.
+
+** Reduced memory consumption while logging
+
+Service output logging allocates less memory than before.
+
+** Updated translations: ro, sr
+
* Changes in version 0.9.2
** File descriptors used internally are now all marked as close-on-exec
- [shepherd] branch master updated (ada8807 -> 4c031cf), Ludovic Courtès, 2022/11/16
- [shepherd] 03/05: support: Make the 'load' and 'eval' actions suspendable., Ludovic Courtès, 2022/11/16
- [shepherd] 05/05: Update 'NEWS'.,
Ludovic Courtès <=
- [shepherd] 02/05: service: 'eval' action gracefully handles user code returning zero values., Ludovic Courtès, 2022/11/16
- [shepherd] 04/05: shepherd: Restore 'system*' in the child process after fork., Ludovic Courtès, 2022/11/16
- [shepherd] 01/05: service: 'make-kill-destructor' waits for termination, eventually SIGKILLs., Ludovic Courtès, 2022/11/16