X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=CODING_STYLE;h=557401348789e0322ea45a1d699d56430da329eb;hp=0b1f809e79717812c0fdd007e1ef5786a5f4e916;hb=6e646d22f6f9215de5ccb5e5edf450558c59fed1;hpb=dd4540da0e1f983540d862cc657df7161a3bdd06 diff --git a/CODING_STYLE b/CODING_STYLE index 0b1f809e7..557401348 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -1,4 +1,5 @@ -- 8ch indent, no tabs +- 8ch indent, no tabs, except for files in man/ which are 2ch indent, + and still no tabs - Don't break code lines too eagerly. We do *not* force line breaks at 80ch, all of today's screens should be much larger than that. But @@ -194,4 +195,16 @@ - 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 + +- We never use the XDG version of basename(). glibc defines it in + libgen.h. The only reason to include that file is because dirname() + is needed. Everytime you need that please immediately undefine + basename(), and add a comment about it, so that no code ever ends up + using the XDG version!