1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-04-07 05:30:38 +02:00

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
This commit is contained in:
Ludovic Courtès
2024-12-09 22:50:26 +01:00
parent 2a5c003c53
commit e065384eee

View File

@@ -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.