guix-commits
[Top][All Lists]
Advanced

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

04/04: service: shepherd: All of the config file is in 'call-with-error-


From: Ludovic Courtès
Subject: 04/04: service: shepherd: All of the config file is in 'call-with-error-handling'.
Date: Fri, 05 Feb 2016 13:02:28 +0000

civodul pushed a commit to branch master
in repository guix.

commit 234ea8a71c70747d883c0634dcd56e243845d832
Author: Ludovic Courtès <address@hidden>
Date:   Fri Feb 5 13:23:09 2016 +0100

    service: shepherd: All of the config file is in 'call-with-error-handling'.
    
    * gnu/services/shepherd.scm (shepherd-configuration-file)[config]: Wrap
    all the body in 'call-with-error-handling'.
---
 gnu/services/shepherd.scm |   43 ++++++++++++++++++++++---------------------
 1 files changed, 22 insertions(+), 21 deletions(-)

diff --git a/gnu/services/shepherd.scm b/gnu/services/shepherd.scm
index 207501c..5d829e4 100644
--- a/gnu/services/shepherd.scm
+++ b/gnu/services/shepherd.scm
@@ -237,29 +237,30 @@ stored."
           (use-modules (srfi srfi-34)
                        (system repl error-handling))
 
-          ;; Arrange to spawn a REPL if loading one of FILES fails.  This is
-          ;; better than a kernel panic.
+          ;; Arrange to spawn a REPL if something goes wrong.  This is better
+          ;; than a kernel panic.
           (call-with-error-handling
             (lambda ()
-              (apply register-services (map primitive-load '#$files))))
-
-          ;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around it.
-          (setenv "PATH" "/run/current-system/profile/bin")
-
-          (format #t "starting services...~%")
-          (for-each (lambda (service)
-                      ;; In the Shepherd 0.3 the 'start' method can raise
-                      ;; '&action-runtime-error' if it fails, so protect
-                      ;; against it.  (XXX: 'action-runtime-error?' is not
-                      ;; exported is 0.3, hence 'service-error?'.)
-                      (guard (c ((service-error? c)
-                                 (format (current-error-port)
-                                         "failed to start service '~a'~%"
-                                         service)))
-                        (start service)))
-                    '#$(append-map shepherd-service-provision
-                                   (filter shepherd-service-auto-start?
-                                           services)))))
+              (apply register-services (map primitive-load '#$files))
+
+              ;; guix-daemon 0.6 aborts if 'PATH' is undefined, so work around
+              ;; it.
+              (setenv "PATH" "/run/current-system/profile/bin")
+
+              (format #t "starting services...~%")
+              (for-each (lambda (service)
+                          ;; In the Shepherd 0.3 the 'start' method can raise
+                          ;; '&action-runtime-error' if it fails, so protect
+                          ;; against it.  (XXX: 'action-runtime-error?' is not
+                          ;; exported is 0.3, hence 'service-error?'.)
+                          (guard (c ((service-error? c)
+                                     (format (current-error-port)
+                                             "failed to start service '~a'~%"
+                                             service)))
+                            (start service)))
+                        '#$(append-map shepherd-service-provision
+                                       (filter shepherd-service-auto-start?
+                                               services)))))))
 
     (gexp->file "shepherd.conf" config)))
 



reply via email to

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