~ruther/guix-local

e065384eee7e29a5d55cc5299207f11167be5d02 — Ludovic Courtès 1 year, 10 months ago 2a5c003
services: shepherd: Remove ‘call-with-{input,output}-file’ replacements.

Shepherd 1.0.0 provides similar replacements.

* gnu/services/shepherd.scm (shepherd-configuration-file): Remove
‘call-with-input-file’ and ‘call-with-output-file’ O_CLOEXEC
replacements.

Change-Id: Id8a4d5cfcb9b9213f3a017cafead21cc86fdb51e
1 files changed, 0 insertions(+), 14 deletions(-)

M gnu/services/shepherd.scm
M gnu/services/shepherd.scm => gnu/services/shepherd.scm +0 -14
@@ 407,20 407,6 @@ as shepherd package."
              (module-use! m (resolve-interface '(shepherd service)))
              m))

          ;; There's code run from shepherd that uses 'call-with-input-file' &
          ;; co.--e.g., the 'urandom-seed' service.  Starting from Shepherd
          ;; 0.9.2, users need to make sure not to leak non-close-on-exec file
          ;; descriptors to child processes.  To address that, replace the
          ;; standard bindings with O_CLOEXEC variants.
          (set! call-with-input-file
                (lambda (file proc)
                  (call-with-port (open file (logior O_RDONLY O_CLOEXEC))
                    proc)))
          (set! call-with-output-file
                (lambda (file proc)
                  (call-with-port (open file (logior O_WRONLY O_CREAT O_CLOEXEC))
                    proc)))

          ;; Specify the default environment visible to all the services.
          ;; Without this statement, all the environment variables of PID 1
          ;; are inherited by child services.