summaryrefslogtreecommitdiff
path: root/usr/src
diff options
context:
space:
mode:
authorPatrick Mooney <pmooney@pfmooney.com>2015-11-12 20:11:03 +0000
committerRobert Mustacchi <rm@joyent.com>2015-11-14 08:47:05 -0800
commitda2c0e64794ff584dca660fcc94a444dcc0d6c0b (patch)
tree872a40b936699d2203de71e761fddfe657dee348 /usr/src
parent7c0fa7e5c69bad99deb669aa7703bfa15bb58d5e (diff)
downloadillumos-joyent-da2c0e64794ff584dca660fcc94a444dcc0d6c0b.tar.gz
6455 dmake should cool its close(2) jets
Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Jason King <jason.brian.king@gmail.com> Reviewed by: Adam Števko <adam.stevko@gmail.com> Reviewed by: Albert Lee <trisk@omniti.com> Reviewed by: Garrett D'Amore <garrett@damore.org> Approved by: Garrett D'Amore <garrett@damore.org>
Diffstat (limited to 'usr/src')
-rw-r--r--usr/src/cmd/make/lib/mksh/dosys.cc17
1 files changed, 8 insertions, 9 deletions
diff --git a/usr/src/cmd/make/lib/mksh/dosys.cc b/usr/src/cmd/make/lib/mksh/dosys.cc
index 9f8b64b617..5ff0ab73b1 100644
--- a/usr/src/cmd/make/lib/mksh/dosys.cc
+++ b/usr/src/cmd/make/lib/mksh/dosys.cc
@@ -23,6 +23,10 @@
* Use is subject to license terms.
*/
+/*
+ * Copyright 2015, Joyent, Inc.
+ */
+
/*
* dosys.cc
@@ -47,6 +51,7 @@
#include <sys/wait.h> /* wait() */
#include <ulimit.h> /* ulimit() */
#include <unistd.h> /* close(), dup2() */
+#include <stdlib.h> /* closefrom() */
#include <libintl.h>
/*
@@ -85,16 +90,10 @@ my_open(const char *path, int oflag, mode_t mode) {
*/
void
redirect_io(char *stdout_file, char *stderr_file)
-{
- long descriptor_limit;
- int i;
+{
+ int i;
- if ((descriptor_limit = ulimit(UL_GDESLIM)) < 0) {
- fatal_mksh(gettext("ulimit() failed: %s"), errmsg(errno));
- }
- for (i = 3; i < descriptor_limit; i++) {
- (void) close(i);
- }
+ (void) closefrom(3);
if ((i = my_open(stdout_file,
O_WRONLY | O_CREAT | O_TRUNC | O_DSYNC,
S_IREAD | S_IWRITE)) < 0) {