aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch')
-rw-r--r--package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch b/package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch
new file mode 100644
index 0000000000..096983200c
--- /dev/null
+++ b/package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch
@@ -0,0 +1,40 @@
+From 1edd25cfa0a26dac1ca5d49bce479ebdea336437 Mon Sep 17 00:00:00 2001
+From: Gabor Juhos <juhosg@openwrt.org>
+Date: Fri, 19 Jul 2013 08:21:17 +0200
+Subject: [PATCH 2/2] early: remove superfluous close of stdio file
+ descriptors
+
+'man dup2' says:
+
+ dup2() makes newfd be the copy of oldfd, closing newfd first if
+ necessary, but note the following:
+
+ * If oldfd is not a valid file descriptor, then the call fails,
+ and newfd is not closed.
+
+ * If oldfd is a valid file descriptor, and newfd has the same
+ value as oldfd, then dup2() does nothing, and returns newfd.
+
+Signed-off-by: Gabor Juhos <juhosg@openwrt.org>
+---
+ early.c | 4 ----
+ 1 file changed, 4 deletions(-)
+
+diff --git a/early.c b/early.c
+index 204623b..f9e3277 100644
+--- a/early.c
++++ b/early.c
+@@ -53,10 +53,6 @@ static void early_console(const char *dev)
+ mkdev("*console", 0600);
+
+ dd = open(dev, O_RDWR);
+- close(STDIN_FILENO);
+- close(STDOUT_FILENO);
+- close(STDERR_FILENO);
+-
+ if (dd < 0) {
+ ERROR("Failed to open %s\n", dev);
+ return;
+--
+1.7.10
+