From: Lennart Poettering Date: Tue, 10 Feb 2015 20:25:28 +0000 (+0100) Subject: CODING_STYLE: elaborate on O_CLOEXEC a bit X-Git-Tag: v219~91 X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=commitdiff_plain;h=699eee62d1b1ad8af1ca944a1b500b6c3096de0d CODING_STYLE: elaborate on O_CLOEXEC a bit --- diff --git a/CODING_STYLE b/CODING_STYLE index 30d24e56a..1d1d97049 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -195,4 +195,10 @@ - When you allocate a file descriptor, it should be made O_CLOEXEC right from the beginning, as none of our files should leak to forked binaries by default. Hence, whenever you open a file, O_CLOEXEC must - be specified, right from the beginning. + be specified, right from the beginning. This also applies to + sockets. Effectively this means that all invocations to: + + a) open() must get O_CLOEXEC passed + b) socket() and socketpair() must get SOCK_CLOEXEC passed + c) recvmsg() must get MSG_CMSG_CLOEXEC set + d) F_DUPFD_CLOEXEC should be used instead of F_DUPFD, and so on