aboutsummaryrefslogtreecommitdiff
path: root/window.c
diff options
context:
space:
mode:
authorNicholas Marriott <nicm@openbsd.org>2010-10-16 08:31:55 +0000
committerNicholas Marriott <nicm@openbsd.org>2010-10-16 08:31:55 +0000
commitf56b4ec2ffa6d5667a3bd86040a1c771c1de33a5 (patch)
treea06294130e18067eca755eb7e91ad6faa548e55c /window.c
parent6c42f1a89e16d69d5fe24bb8b3f6b37148cfa308 (diff)
downloadrtmux-f56b4ec2ffa6d5667a3bd86040a1c771c1de33a5.tar.gz
rtmux-f56b4ec2ffa6d5667a3bd86040a1c771c1de33a5.tar.bz2
rtmux-f56b4ec2ffa6d5667a3bd86040a1c771c1de33a5.zip
Trying to set FD_CLOEXEC on every fd is a lost cause, just use
closefrom() before exec.
Diffstat (limited to 'window.c')
-rw-r--r--window.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/window.c b/window.c
index 731eff02..181ffd7c 100644
--- a/window.c
+++ b/window.c
@@ -573,6 +573,8 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell,
if (tcsetattr(STDIN_FILENO, TCSANOW, &tio2) != 0)
fatal("tcgetattr failed");
+ closefrom(STDERR_FILENO + 1);
+
environ_push(env);
clear_signals(1);
@@ -603,8 +605,6 @@ window_pane_spawn(struct window_pane *wp, const char *cmd, const char *shell,
fatal("fcntl failed");
if (fcntl(wp->fd, F_SETFL, mode|O_NONBLOCK) == -1)
fatal("fcntl failed");
- if (fcntl(wp->fd, F_SETFD, FD_CLOEXEC) == -1)
- fatal("fcntl failed");
wp->event = bufferevent_new(wp->fd,
window_pane_read_callback, NULL, window_pane_error_callback, wp);
bufferevent_enable(wp->event, EV_READ|EV_WRITE);