[git commit] ash: [REDIR] Remove EMFILE special case
Denys Vlasenko
vda.linux at googlemail.com
Tue Oct 25 17:04:39 UTC 2016
commit: https://git.busybox.net/busybox/commit/?id=20a2cd6291924d405e636916962c6294d3b8544e
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
Upstream commit:
Date: Sun, 6 May 2007 12:01:37 +1000
[REDIR] Remove EMFILE special case
No caller of copyfd need to ignore EMFILE so we can remove the special
case and just let it call sh_error on any error.
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
shell/ash.c | 8 +-------
1 file changed, 1 insertion(+), 7 deletions(-)
diff --git a/shell/ash.c b/shell/ash.c
index 9dcf809..8092e39 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -5190,9 +5190,7 @@ openredirect(union node *redir)
}
/*
- * Copy a file descriptor to be >= to. Returns -1
- * if the source file descriptor is closed, EMPTY if there are no unused
- * file descriptors left.
+ * Copy a file descriptor to be >= to. Throws exception on error.
*/
/* 0x800..00: bit to set in "to" to request dup2 instead of fcntl(F_DUPFD).
* old code was doing close(to) prior to copyfd() to achieve the same */
@@ -5213,8 +5211,6 @@ copyfd(int from, int to)
newfd = fcntl(from, F_DUPFD, to);
}
if (newfd < 0) {
- if (errno == EMFILE)
- return EMPTY;
/* Happens when source fd is not open: try "echo >&99" */
ash_msg_and_raise_error("%d: %m", from);
}
@@ -10243,8 +10239,6 @@ setinputfile(const char *fname, int flags)
if (fd < 10) {
fd2 = copyfd(fd, 10);
close(fd);
- if (fd2 < 0)
- ash_msg_and_raise_error("out of file descriptors");
fd = fd2;
}
setinputfd(fd, flags & INPUT_PUSH_FILE);
More information about the busybox-cvs
mailing list