guix-commits
[Top][All Lists]
Advanced

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

[shepherd] 01/09: service: Improve 'service-list'.


From: Alex Kost
Subject: [shepherd] 01/09: service: Improve 'service-list'.
Date: Tue, 26 Jan 2016 09:40:25 +0000

alezost pushed a commit to branch master
in repository shepherd.

commit 63bca05d68d7cb49fb50f2ed6297a9b535f89d78
Author: Alex Kost <address@hidden>
Date:   Mon Jan 25 11:18:00 2016 +0300

    service: Improve 'service-list'.
    
    * modules/shepherd/service.scm (service-list): Use
      'lookup-canonical-service' on each name instead of removing duplicates
      from the final list.
---
 modules/shepherd/service.scm |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/modules/shepherd/service.scm b/modules/shepherd/service.scm
index f84d1dd..94f2aae 100644
--- a/modules/shepherd/service.scm
+++ b/modules/shepherd/service.scm
@@ -871,12 +871,13 @@ Return #f if service is not found."
 
 (define (service-list)
   "Return the list of services currently defined."
-  (delete-duplicates
-   (hash-fold (lambda (key services result)
-                (append services result))
-              '()
-              %services)
-   eq?))
+  (hash-fold (lambda (name services result)
+               (let ((service (lookup-canonical-service name services)))
+                 (if service
+                     (cons service result)
+                     result)))
+             '()
+             %services))
 
 (define (find-service pred)
   "Return the first service that matches PRED, or #f if none was found."



reply via email to

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