[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[dmd] 01/03: Make sure file descriptor zero is open.
From: |
Ludovic Courtès |
Subject: |
[dmd] 01/03: Make sure file descriptor zero is open. |
Date: |
Mon, 23 Jun 2014 22:09:20 +0000 |
civodul pushed a commit to branch master
in repository dmd.
commit e2e98bcc8222299265548101f5cec41405d672d4
Author: Ludovic Courtès <address@hidden>
Date: Mon Jun 23 15:53:10 2014 +0200
Make sure file descriptor zero is open.
* modules/dmd/service.scm (exec-command): Open /dev/null on file
descriptor 0.
---
modules/dmd/service.scm | 5 +++++
1 files changed, 5 insertions(+), 0 deletions(-)
diff --git a/modules/dmd/service.scm b/modules/dmd/service.scm
index 7b9195a..2d99c1d 100644
--- a/modules/dmd/service.scm
+++ b/modules/dmd/service.scm
@@ -577,6 +577,11 @@ set when starting a service."
;; Close all the file descriptors except stdout and stderr.
(let ((max-fd (max-file-descriptors)))
(catch-system-error (close-fdes 0))
+
+ ;; Make sure file descriptor zero is used, so we don't end up reusing
+ ;; it for something unrelated, which can confuse some packages.
+ (dup2 (open-fdes "/dev/null" O_RDONLY) 0)
+
(let loop ((i 3))
(when (< i max-fd)
(catch-system-error (close-fdes i))