repo: ngircd action: commit revision: path_from: revision_from: c135d0dded909e2e5780697c4066ad44a3f488c8: path_to: revision_to:
commit c135d0dded909e2e5780697c4066ad44a3f488c8 Author: Florian WestphalDate: Fri Sep 10 23:41:29 2010 +0200 io: add io_cloexec to set close-on-exec flag. diff --git a/src/ngircd/io.c b/src/ngircd/io.c
--- a/src/ngircd/io.c
+++ b/src/ngircd/io.c
@@ -785,6 +785,16 @@ io_setnonblock(int fd)
return fcntl(fd, F_SETFL, flags) == 0;
}
+bool
+io_setcloexec(int fd)
+{
+ int flags = fcntl(fd, F_GETFD);
+ if (flags == -1)
+ return false;
+ flags |= FD_CLOEXEC;
+
+ return fcntl(fd, F_SETFD, flags) == 0;
+}
bool
io_close(int fd)
diff --git a/src/ngircd/io.h b/src/ngircd/io.h
--- a/src/ngircd/io.h +++ b/src/ngircd/io.h @@ -45,6 +45,9 @@ bool io_close PARAMS((int fd)); /* set O_NONBLOCK */ bool io_setnonblock PARAMS((int fd)); +/* set O_CLOEXEC */ +bool io_setcloexec PARAMS((int fd)); + /* watch fds for activity */ int io_dispatch PARAMS((struct timeval *tv));
-----END OF PAGE-----