From 650a6624cf72fe28e52a29a78de0f1cbfab44d7b Mon Sep 17 00:00:00 2001 Message-Id: <650a6624cf72fe28e52a29a78de0f1cbfab44d7b.1714090295.git.mdw@distorted.org.uk> From: Mark Wooding Date: Sun, 4 Feb 2001 17:10:58 +0000 Subject: [PATCH] Make file descriptors be nonblocking and close-on-exec. Organization: Straylight/Edgeware From: mdw --- peer.c | 6 +++++- tun-unet.c | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/peer.c b/peer.c index 31aa1e28..937d29f2 100644 --- a/peer.c +++ b/peer.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: peer.c,v 1.2 2001/02/03 22:40:29 mdw Exp $ + * $Id: peer.c,v 1.3 2001/02/04 17:10:58 mdw Exp $ * * Communication with the peer * @@ -29,6 +29,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: peer.c,v $ + * Revision 1.3 2001/02/04 17:10:58 mdw + * Make file descriptors be nonblocking and close-on-exec. + * * Revision 1.2 2001/02/03 22:40:29 mdw * Put timer information into the entropy pool when packets are received * and on similar events. Reseed the generator on the interval timer. @@ -252,6 +255,7 @@ void p_init(unsigned port) sin.sin_port = htons(port); if (bind(fd, (struct sockaddr *)&sin, sizeof(sin))) die(EXIT_FAILURE, "bind failed: %s", strerror(errno)); + fdflags(fd, O_NONBLOCK, O_NONBLOCK, FD_CLOEXEC, FD_CLOEXEC); sel_initfile(&sel, &sock, fd, SEL_READ, p_read, 0); sel_addfile(&sock); T( trace(T_PEER, "peer: created socket"); ) diff --git a/tun-unet.c b/tun-unet.c index d78c9a11..57e1397d 100644 --- a/tun-unet.c +++ b/tun-unet.c @@ -1,6 +1,6 @@ /* -*-c-*- * - * $Id: tun-unet.c,v 1.1 2001/02/03 20:26:37 mdw Exp $ + * $Id: tun-unet.c,v 1.2 2001/02/04 17:10:58 mdw Exp $ * * Tunnel interface based on Linux Usernet * @@ -29,6 +29,9 @@ /*----- Revision history --------------------------------------------------* * * $Log: tun-unet.c,v $ + * Revision 1.2 2001/02/04 17:10:58 mdw + * Make file descriptors be nonblocking and close-on-exec. + * * Revision 1.1 2001/02/03 20:26:37 mdw * Initial checkin. * @@ -106,6 +109,7 @@ int tun_create(tunnel *t, peer *p) a_warn("open `/dev/unet' failed: %s", strerror(errno)); return (-1); } + fdflags(fd, O_NONBLOCK, O_NONBLOCK, FD_CLOEXEC, FD_CLOEXEC); t->p = p; sel_initfile(&sel, &t->f, fd, SEL_READ, t_read, t); sel_addfile(&t->f); -- [mdw]