guix-commits
[Top][All Lists]
Advanced

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

01/06: services: herd: "Resolve" transient services only when needed.


From: guix-commits
Subject: 01/06: services: herd: "Resolve" transient services only when needed.
Date: Mon, 29 May 2023 18:17:15 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit d23d8fcee99e7b127f9e649925caca9cf0d36e76
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat May 27 19:29:33 2023 +0200

    services: herd: "Resolve" transient services only when needed.
    
    This allows us to get rid of the "eval root" actions, which in turn
    would lead to confusing "Evaluating user expression" messages.
    
    Fixes <https://issues.guix.gnu.org/55857>.
    
    * gnu/services/herd.scm (resolve-transients): In 'values', avoid
    'eval-there' call when UNRESOLVED is empty.
---
 gnu/services/herd.scm | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/gnu/services/herd.scm b/gnu/services/herd.scm
index 48594015fc..c24a403935 100644
--- a/gnu/services/herd.scm
+++ b/gnu/services/herd.scm
@@ -242,12 +242,13 @@ service is transient."
   ;; for all of SERVICES.
   (let* ((unresolved (filter (compose unspecified? live-service-transient?)
                              services))
-         (values     (or (eval-there
-                          `(and (defined? 'transient?) ;shepherd >= 0.9.0
-                                (map (compose transient? lookup-running)
-                                     ',(map (compose first
-                                                     live-service-provision)
-                                            unresolved))))
+         (values     (or (and (pair? unresolved)
+                              (eval-there
+                               `(and (defined? 'transient?) ;shepherd >= 0.9.0
+                                     (map (compose transient? lookup-running)
+                                          ',(map (compose first
+                                                          
live-service-provision)
+                                                 unresolved)))))
                          (make-list (length unresolved) #f)))
          (resolved   (map (lambda (unresolved transient?)
                             (cons unresolved



reply via email to

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