[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
48/197: installer: Close unused ports in pipe-cmd.
From: |
Danny Milosavljevic |
Subject: |
48/197: installer: Close unused ports in pipe-cmd. |
Date: |
Mon, 3 Jul 2017 20:36:58 -0400 (EDT) |
dannym pushed a commit to branch wip-installer-2
in repository guix.
commit 5df268066be5c04dffb27051a0abd0e8c328a751
Author: John Darrington <address@hidden>
Date: Thu Dec 29 19:18:52 2016 +0100
installer: Close unused ports in pipe-cmd.
* gnu/system/installer/utils.scm (pipe-cmd): Close all unused ports.
---
gnu/system/installer/utils.scm | 11 +++++------
1 file changed, 5 insertions(+), 6 deletions(-)
diff --git a/gnu/system/installer/utils.scm b/gnu/system/installer/utils.scm
index 8623169..04f53ab 100644
--- a/gnu/system/installer/utils.scm
+++ b/gnu/system/installer/utils.scm
@@ -77,23 +77,22 @@
(define* (pipe-cmd ipipe cmd #:rest args)
"Run CMD ARGS ... sending stdout and stderr to IPIPE. Returns the exit
status of CMD."
- (let* (
- (pipep (pipe))
+ (let* ((pipep (pipe))
(pid (primitive-fork)))
-
(if (zero? pid)
(begin
+ (close-port (car pipep))
(redirect-port (cdr pipep) (current-output-port))
(redirect-port (cdr pipep) (current-error-port))
(apply execlp cmd args))
(begin
- (close (cdr pipep))
+ (close-port (cdr pipep))
(let loop ((c (read-char (car pipep))))
(unless (eof-object? c)
(display c ipipe)
(force-output ipipe)
- (loop (read-char (car pipep)))))))
-
+ (loop (read-char (car pipep)))))
+ (close-port (car pipep))))
(cdr (waitpid pid))))
(define (justify text width)
- 28/197: installer: Add a variable to represent the minimum recommended store size., (continued)
- 28/197: installer: Add a variable to represent the minimum recommended store size., Danny Milosavljevic, 2017/07/03
- 32/197: installer: Remove ad-hoc completed predicate and use standard one., Danny Milosavljevic, 2017/07/03
- 34/197: installer: Replace some instances of "car"., Danny Milosavljevic, 2017/07/03
- 40/197: installer: Turn off kernel ring messages to console., Danny Milosavljevic, 2017/07/03
- 37/197: install: Define new procedure pipe-cmd and use it to implement window-pipe., Danny Milosavljevic, 2017/07/03
- 41/197: installer: Enable scrolling in the installation window., Danny Milosavljevic, 2017/07/03
- 38/197: installer: Correct bugs generating the configuration., Danny Milosavljevic, 2017/07/03
- 45/197: installer: Fix bug where window-pipe did not return the proper exit status., Danny Milosavljevic, 2017/07/03
- 43/197: installer: Rename module "new" to "guixsd-installer"., Danny Milosavljevic, 2017/07/03
- 42/197: installer: Wrap installer in (catch #t ...), Danny Milosavljevic, 2017/07/03
- 48/197: installer: Close unused ports in pipe-cmd.,
Danny Milosavljevic <=
- 47/197: installer: Improve install page., Danny Milosavljevic, 2017/07/03
- 29/197: installer: Add a task to actually call guix system init., Danny Milosavljevic, 2017/07/03
- 53/197: installer: Change N_ from a procedure to a macro., Danny Milosavljevic, 2017/07/03
- 50/197: installer: Issue message to user on failure of filesystems task., Danny Milosavljevic, 2017/07/03
- 61/197: installer: Indicate which wireless access points are encrypted., Danny Milosavljevic, 2017/07/03
- 59/197: installer: Format configuration to fix width of window., Danny Milosavljevic, 2017/07/03
- 65/197: installer: Ensure that all mount points are absolute paths., Danny Milosavljevic, 2017/07/03
- 09/197: installer: Use a record instead of a list to contain tasks., Danny Milosavljevic, 2017/07/03
- 23/197: installer: Use a cleaner way of generating the lspci information., Danny Milosavljevic, 2017/07/03
- 35/197: installer: New predicate valid-hostname?, Danny Milosavljevic, 2017/07/03