summaryrefslogtreecommitdiff
path: root/gnu/services
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-23 23:45:27 -0400
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2022-09-23 23:56:16 -0400
commiteffdc6c83e7000bf062526f4256de69899e13b40 (patch)
treea0bf0ae2975439d8f616cc9a2bcd988c3714eb99 /gnu/services
parent829c19142e62efa7ba9715fc682b4be959830b2e (diff)
services: jami-service-type: Streamline stop slot.
* gnu/services/telephony.scm (jami-shepherd-services) [stop]: Use make-kill-destructor with SIGKILL. Add comment.
Diffstat (limited to 'gnu/services')
-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