summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicholas Marriott <nicholas.marriott@gmail.com>2009-03-31 22:20:42 +0000
committerNicholas Marriott <nicholas.marriott@gmail.com>2009-03-31 22:20:42 +0000
commit907bec675a640d733f380ade2131ac05cb8eed48 (patch)
treed8ed805779c713361c437e121a5943e728b97c42
parentd13add828ad7737dea34384e7fc0bf116ffff605 (diff)
FD_CLOEXEC more fds. Still one I can't find...
-rw-r--r--client.c6
-rw-r--r--server.c4
-rw-r--r--tty.c8
3 files changed, 11 insertions, 7 deletions
diff --git a/client.c b/client.c
index 23cf6ec6..15c29349 100644
--- a/client.c
+++ b/client.c
@@ -1,4 +1,4 @@
-/* $Id: client.c,v 1.45 2009-03-27 17:04:04 nicm Exp $ */
+/* $Id: client.c,v 1.46 2009-03-31 22:20:42 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -85,9 +85,9 @@ client_init(char *path, struct client_ctx *cctx, int start_server, int flags)
server_started:
if ((mode = fcntl(cctx->srv_fd, F_GETFL)) == -1)
- fatal("fcntl");
+ fatal("fcntl failed");
if (fcntl(cctx->srv_fd, F_SETFL, mode|O_NONBLOCK) == -1)
- fatal("fcntl");
+ fatal("fcntl failed");
cctx->srv_in = buffer_create(BUFSIZ);
cctx->srv_out = buffer_create(BUFSIZ);
diff --git a/server.c b/server.c
index 3795fce1..7d5eb34f 100644
--- a/server.c
+++ b/server.c
@@ -1,4 +1,4 @@
-/* $Id: server.c,v 1.131 2009-03-28 15:49:05 nicm Exp $ */
+/* $Id: server.c,v 1.132 2009-03-31 22:20:42 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -73,6 +73,8 @@ server_create_client(int fd)
fatal("fcntl failed");
if (fcntl(fd, F_SETFL, mode|O_NONBLOCK) == -1)
fatal("fcntl failed");
+ if (fcntl(fd, F_SETFD, FD_CLOEXEC) == -1)
+ fatal("fcntl failed");
c = xcalloc(1, sizeof *c);
c->fd = fd;
diff --git a/tty.c b/tty.c
index 000ac55e..09db0516 100644
--- a/tty.c
+++ b/tty.c
@@ -1,4 +1,4 @@
-/* $Id: tty.c,v 1.88 2009-03-31 18:39:45 nicm Exp $ */
+/* $Id: tty.c,v 1.89 2009-03-31 22:20:42 nicm Exp $ */
/*
* Copyright (c) 2007 Nicholas Marriott <nicm@users.sourceforge.net>
@@ -98,9 +98,11 @@ tty_open(struct tty *tty, char **cause)
}
if ((mode = fcntl(tty->fd, F_GETFL)) == -1)
- fatal("fcntl");
+ fatal("fcntl failed");
if (fcntl(tty->fd, F_SETFL, mode|O_NONBLOCK) == -1)
- fatal("fcntl");
+ fatal("fcntl failedo");
+ if (fcntl(tty->fd, F_SETFD, FD_CLOEXEC) == -1)
+ fatal("fcntl failed");
if (debug_level > 3)
tty->log_fd = open("tmux.out", O_WRONLY|O_CREAT|O_TRUNC, 0644);