guix-commits
[Top][All Lists]
Advanced

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

08/14: services: dicod: Use 'make-inetd-constructor'.


From: guix-commits
Subject: 08/14: services: dicod: Use 'make-inetd-constructor'.
Date: Sun, 1 May 2022 16:15:33 -0400 (EDT)

civodul pushed a commit to branch master
in repository guix.

commit fd57ce267c4083fe98242caa31075d2bd62903bf
Author: Ludovic Courtès <ludo@gnu.org>
AuthorDate: Sat Apr 16 17:34:30 2022 +0200

    services: dicod: Use 'make-inetd-constructor'.
    
    * gnu/services/dict.scm (dicod-shepherd-service): Use
    'make-inetd-constructor' in the 'start' method when available.
---
 gnu/services/dict.scm | 18 ++++++++++++++----
 1 file changed, 14 insertions(+), 4 deletions(-)

diff --git a/gnu/services/dict.scm b/gnu/services/dict.scm
index 62b21f8d53..109917c05c 100644
--- a/gnu/services/dict.scm
+++ b/gnu/services/dict.scm
@@ -146,6 +146,7 @@ database {
 
 (define (dicod-shepherd-service config)
   (let* ((dicod.conf (dicod-configuration-file config))
+         (interfaces (dicod-configuration-interfaces config))
          (dicod      (least-authority-wrapper
                       (file-append (dicod-configuration-dico config)
                                    "/bin/dicod")
@@ -165,10 +166,19 @@ database {
            (provision '(dicod))
            (requirement '(user-processes))
            (documentation "Run the dicod daemon.")
-           (start #~(make-forkexec-constructor
-                     (list #$dicod "--foreground"
-                           (string-append "--config=" #$dicod.conf))
-                     #:user "dicod" #:group "dicod"))
+           (start #~(if (and (defined? 'make-inetd-constructor)
+                             #$(= 1 (length interfaces))) ;XXX
+                        (make-inetd-constructor
+                         (list #$dicod "--inetd" "--foreground"
+                               (string-append "--config=" #$dicod.conf))
+                         (addrinfo:addr
+                          (car (getaddrinfo #$(first interfaces) "dict")))
+                         #:user "dicod" #:group "dicod"
+                         #:service-name-stem "dicod")
+                        (make-forkexec-constructor
+                         (list #$dicod "--foreground"
+                               (string-append "--config=" #$dicod.conf))
+                         #:user "dicod" #:group "dicod")))
            (stop #~(make-kill-destructor))))))
 
 (define dicod-service-type



reply via email to

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