summary refs log tree commit diff
path: root/gnu/services/mail.scm
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2020-04-20 22:30:09 +0200
committerLudovic Courtès <ludo@gnu.org>2020-04-21 00:06:40 +0200
commitb25ecfa2e0ab6642dc35f7f68a24117e33f5795f (patch)
treede56a5f97177f775f0c00106853c0486d6ebba6d /gnu/services/mail.scm
parent7d903d2ff7e17406c0650541f35e37a99dab8759 (diff)
downloadguix-b25ecfa2e0ab6642dc35f7f68a24117e33f5795f.tar.gz
services: dovecot: 'stop' method returns #f upon success.
* gnu/services/mail.scm (dovecot-shepherd-service)[stop]: Use 'invoke'
instead of 'make-forkexec-constructor'.  Previously, the 'stop' method
would return the PID of the "dovecot stop" process, which would be
interpreted as a failure to stop the service.
Diffstat (limited to 'gnu/services/mail.scm')
-rw-r--r--gnu/services/mail.scm7
1 files changed, 4 insertions, 3 deletions
diff --git a/gnu/services/mail.scm b/gnu/services/mail.scm
index 7791780dfc..cfcaf4601b 100644
--- a/gnu/services/mail.scm
+++ b/gnu/services/mail.scm
@@ -1544,9 +1544,10 @@ greyed out, instead of only later giving \"not selectable\" popup error.
            (start #~(make-forkexec-constructor
                      (list (string-append #$dovecot "/sbin/dovecot")
                            "-F")))
-           (stop #~(make-forkexec-constructor
-                    (list (string-append #$dovecot "/sbin/dovecot")
-                          "stop")))))))
+           (stop #~(lambda _
+                     (invoke #$(file-append dovecot "/sbin/dovecot")
+                             "stop")
+                     #f))))))
 
 (define %dovecot-pam-services
   (list (unix-pam-service "dovecot")))