guix-commits
[Top][All Lists]
Advanced

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

[shepherd] 01/01: Merge branch 'main' into devel


From: Ludovic Courtès
Subject: [shepherd] 01/01: Merge branch 'main' into devel
Date: Sat, 17 Feb 2024 13:11:09 -0500 (EST)

civodul pushed a commit to branch devel
in repository shepherd.

commit e01ce2c67c702f9f6d128ac8e46880d7d214be99
Merge: 5c87fef a324f75
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Feb 17 19:08:37 2024 +0100

    Merge branch 'main' into devel

 .guix/manifest.scm                 |  15 +-
 .guix/modules/shepherd-package.scm |  24 +-
 Makefile.am                        |   1 +
 NEWS                               |  29 +-
 configure.ac                       |   2 +-
 doc/examples/awesomeadam.scm       | 625 ++++++++++++++++++++++++++++++++++
 doc/shepherd.texi                  |  21 +-
 modules/shepherd.scm               |   8 +-
 modules/shepherd/service.scm       |  36 +-
 modules/shepherd/support.scm       |  26 +-
 po/de.po                           | 311 ++++++++---------
 po/ro.po                           | 314 ++++++++---------
 po/sr.po                           | 667 ++++++++++++++++++++++++++++---------
 po/sv.po                           | 314 ++++++++---------
 po/uk.po                           | 313 ++++++++---------
 tests/forking-service.sh           |  46 ++-
 tests/inetd.sh                     |   9 +-
 tests/logging.sh                   |  19 +-
 tests/system-star.sh               |  18 +-
 19 files changed, 1995 insertions(+), 803 deletions(-)

diff --cc modules/shepherd/service.scm
index 732b08b,a17ed8f..78a0e1d
--- a/modules/shepherd/service.scm
+++ b/modules/shepherd/service.scm
@@@ -3008,11 -2770,18 +3015,18 @@@ where prctl/PR_SET_CHILD_SUBREAPER is u
  
    (for-each-service (lambda (service)
                        (let ((running (service-running-value service)))
 -                        (when (and (integer? running)
 -                                   (not (process-exists? running)))
 +                        (when (and (process? running)
 +                                   (not (process-exists? (process-id 
running))))
                            (local-output (l10n "PID ~a (~a) is dead!")
                                          running (service-canonical-name 
service))
-                           (respawn-service service))))))
+ 
+                           ;; Tell the process monitor, which in turn will
+                           ;; forward it to the service.  The status is
+                           ;; unknown, since we could not call 'waitpid' on it,
+                           ;; so provide an arbitrary value.  Terrible.
+                           (put-message (current-process-monitor)
+                                        `(handle-process-termination
+                                          ,running ,(ash 77 8))))))))
  
  (define %post-daemonize-hook
    ;; Hook invoked after the 'daemonize' action in the child process.



reply via email to

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