FD_CLOEXEC more fds. Still one I can't find...

This commit is contained in:
Nicholas Marriott 2009-03-31 22:20:42 +00:00
parent d13add828a
commit 907bec675a
3 changed files with 11 additions and 7 deletions

View File

@ -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);

View File

@ -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;

8
tty.c
View File

@ -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);