diff options
author | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-03-31 22:20:42 +0000 |
---|---|---|
committer | Nicholas Marriott <nicholas.marriott@gmail.com> | 2009-03-31 22:20:42 +0000 |
commit | 907bec675a640d733f380ade2131ac05cb8eed48 (patch) | |
tree | d8ed805779c713361c437e121a5943e728b97c42 | |
parent | d13add828ad7737dea34384e7fc0bf116ffff605 (diff) |
FD_CLOEXEC more fds. Still one I can't find...
-rw-r--r-- | client.c | 6 | ||||
-rw-r--r-- | server.c | 4 | ||||
-rw-r--r-- | tty.c | 8 |
3 files changed, 11 insertions, 7 deletions
@@ -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); @@ -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; @@ -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); |