;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2020 Mathieu Othacehe ;;; ;;; This file is part of GNU Guix. ;;; ;;; GNU Guix is free software; you can redistribute it and/or modify it ;;; under the terms of the GNU General Public License as published by ;;; the Free Software Foundation; either version 3 of the License, or (at ;;; your option) any later version. ;;; ;;; GNU Guix is distributed in the hope that it will be useful, but ;;; WITHOUT ANY WARRANTY; without even the implied warranty of ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;;; GNU General Public License for more details. ;;; ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . (define-module (gnu installer proxy) #:use-module (gnu services herd) #:export (set-http-proxy clear-http-proxy)) (define-syntax-rule (with-silent-shepherd exp ...) (parameterize ((shepherd-message-port (%make-void-port "w"))) exp ...)) (define (set-http-proxy proxy) (with-silent-shepherd (with-shepherd-action 'guix-daemon ('set-http-proxy proxy) result result))) (define (clear-http-proxy) (with-silent-shepherd (with-shepherd-action 'guix-daemon ('set-http-proxy) result result))) ;; Local Variables: ;; eval: (put 'with-silent-shepherd 'scheme-indent-function 0) ;; End: f/gnu/build/shepherd.scm?id=6d02e171398df4b0fccbb6f04462d4de00f036d7'>diff
AgeCommit message (Expand)Author
2020-06-12shepherd: 'read-pid-file/container' terminates the whole process group....This mirrors a change made in the Shepherd 0.8.0. Previously, upon startup failure, we could have left processes behind. * gnu/build/shepherd.scm (read-pid-file/container): Kill (- PID) instead of PID. Ludovic Courtès
2020-06-12shepherd: Unblock signals in the child process....Fixes <https://bugs.gnu.org/41791>. Reported by Tobias Geerinckx-Rice <me@tobias.gr>. This change mirrors changes made in the Shepherd 0.8.1, where signals are blocked in the shepherd process in support of 'signalfd'. The regression was introduced with the switch to 0.8.1 in 3f9c62d1a8b345909adaeb22f454ad22554c55a1: child processes would not receive SIGTERM upon 'herd stop SERVICE'. * gnu/build/shepherd.scm <top level>: Autoload (shepherd system). (make-forkexec-constructor/container): Call call to 'sigaction' and 'unblock-signals'. Ludovic Courtès