summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/services/telephony.scm12
1 files changed, 5 insertions, 7 deletions
diff --git a/gnu/services/telephony.scm b/gnu/services/telephony.scm
index 3d855221e5..b66c7a8563 100644
--- a/gnu/services/telephony.scm
+++ b/gnu/services/telephony.scm
@@ -685,13 +685,11 @@ argument, either a registered username or the fingerprint of the account.")
 
                     ;; Finally, return the PID of the daemon process.
                     daemon-pid))
-               (stop
-                #~(lambda (pid . args)
-                    (kill pid SIGKILL)
-                    ;; Wait for the process to exit; this prevents overlapping
-                    ;; processes when issuing 'herd restart'.
-                    (waitpid pid)
-                    #f))))))))
+               ;; XXX: jamid takes some time to terminate, and GNU Shepherd
+               ;; doesn't block when calling waitpid (see:
+               ;; https://issues.guix.gnu.org/57922).  Using SIGKILL instead
+               ;; of SIGTERM works around that.
+               (stop #~(make-kill-destructor SIGKILL))))))))
 
 (define jami-service-type
   (service-type