chiark / gitweb /
systemctl: allow interactive authorization for all bus calls
[elogind.git] / CODING_STYLE
index 0b1f809e79717812c0fdd007e1ef5786a5f4e916..557401348789e0322ea45a1d699d56430da329eb 100644 (file)
@@ -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
 - 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!