[PATCH Shepherd] doc: Update user services example for `services already running'.

  • Done
  • quality assurance status badge
Details
2 participants
  • Janneke Nieuwenhuizen
  • Ludovic Courtès
Owner
unassigned
Submitted by
Janneke Nieuwenhuizen
Severity
normal
J
J
Janneke Nieuwenhuizen wrote on 29 Jan 2023 12:27
(address . guix-patches@gnu.org)(name . Efraim Flashner)(address . efraim@flashner.co.il)
87a6218tt6.fsf@gnu.org
Hi,

I've been struggling with my home shepherd startup for a while,
wondering what changed, overlooking this new error message in the log.
Shouldn't this change have been mentioned in NEWS? FWIW, this now
faulty example is also shown here


Anyway, as the change was made quite some time ago I imagine that any
other users will have figured this out by now.

Greetings,
Janneke
From de09ecb16b547830f0df1efc42c78affaaf9c9c4 Mon Sep 17 00:00:00 2001
From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
Date: Sun, 29 Jan 2023 12:05:32 +0100
Subject: [PATCH Shepherd] doc: Update user services example for `services
already running'.

The previously suggested example now gives

Services already running, so not daemonizing.

which is fixed by daemonizing right away.

This is a follow-up to commit
3197c1c161d10b7f76771a2943f20fdafc5cc14a
service: 'daemonize' action does nothing when services are already running.

* doc/shepherd.texi (Managing User Services): Daemonize before starting
services.
---
doc/shepherd.texi | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)

Toggle diff (34 lines)
diff --git a/doc/shepherd.texi b/doc/shepherd.texi
index d25a8f2..538c334 100644
--- a/doc/shepherd.texi
+++ b/doc/shepherd.texi
@@ -13,7 +13,7 @@ Copyright @copyright{} @value{OLD-YEARS} Wolfgang J@"ahrling@*
Copyright @copyright{} @value{NEW-YEARS} Ludovic Courtès@*
Copyright @copyright{} 2020 Brice Waegeneire@*
Copyright @copyright{} 2020 Oleg Pykhalov
-Copyright @copyright{} 2020 Jan (janneke) Nieuwenhuizen@*
+Copyright @copyright{} 2020, 2023 Jan (janneke) Nieuwenhuizen@*
Permission is granted to copy, distribute and/or modify this document
under the terms of the GNU Free Documentation License, Version 1.3 or
@@ -1353,6 +1353,9 @@ load individual service definitions from
(use-modules (shepherd service)
((ice-9 ftw) #:select (scandir)))
+;; Send shepherd into the background
+(action 'shepherd 'daemonize)
+
;; Load all the files in the directory 'init.d' with a suffix '.scm'.
(for-each
(lambda (file)
@@ -1361,8 +1364,6 @@ load individual service definitions from
(lambda (file)
(string-suffix? ".scm" file))))
-;; Send shepherd into the background
-(action 'shepherd 'daemonize)
@end lisp
Then, individual user services can be put in
--
2.38.1
--
Janneke Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond https://LilyPond.org
Freelance IT https://www.JoyOfSource.com| Avatar® https://AvatarAcademy.com
L
L
Ludovic Courtès wrote on 4 Mar 2023 20:51
(name . Janneke Nieuwenhuizen)(address . janneke@gnu.org)
87cz5opa5j.fsf@gnu.org
Hi,

Janneke Nieuwenhuizen <janneke@gnu.org> skribis:

Toggle quote (19 lines)
>>From de09ecb16b547830f0df1efc42c78affaaf9c9c4 Mon Sep 17 00:00:00 2001
> From: "Jan (janneke) Nieuwenhuizen" <janneke@gnu.org>
> Date: Sun, 29 Jan 2023 12:05:32 +0100
> Subject: [PATCH Shepherd] doc: Update user services example for `services
> already running'.
>
> The previously suggested example now gives
>
> Services already running, so not daemonizing.
>
> which is fixed by daemonizing right away.
>
> This is a follow-up to commit
> 3197c1c161d10b7f76771a2943f20fdafc5cc14a
> service: 'daemonize' action does nothing when services are already running.
>
> * doc/shepherd.texi (Managing User Services): Daemonize before starting
> services.

Applied, thanks!

You’re right that the change in question should have been in ‘NEWS’. I
guess I didn’t realize this could cause problems because in effect
daemonizing after child processes had been started would not work
correctly (shepherd wouldn’t receive SIGCHLD for those.)

Ludo’.
Closed
?