aboutsummaryrefslogtreecommitdiffstats
path: root/package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch
diff options
context:
space:
mode:
authorGabor Juhos <juhosg@openwrt.org>2013-07-19 17:12:44 +0000
committerGabor Juhos <juhosg@openwrt.org>2013-07-19 17:12:44 +0000
commitb3cc355d2dd4cdbfa49043addb1d82c7a1a033d1 (patch)
treed92fa36ea866e1eb110b94b06304e44400b4e07e /package/system/procd/patches/0002-early-remove-superfluous-close-of-stdio-file-descrip.patch
parent2c21276af1e1a47576791576acd082a70cc0560a (diff)
downloadmaster-187ad058-b3cc355d2dd4cdbfa49043addb1d82c7a1a033d1.tar.gz
master-187ad058-b3cc355d2dd4cdbfa49043addb1d82c7a1a033d1.tar.bz2
master-187ad058-b3cc355d2dd4cdbfa49043addb1d82c7a1a033d1.zip
procd: improve early console handling
The malta target is broken since procd is used as init. The initramfs image boots fine, however the console is not working. Improve the early console handling to fix the problem. Signed-off-by: Gabor Juhos <juhosg@openwrt.org> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@37451 3c298f89-4303-0410-b956-a3cf2f4a3e73
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
+