X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=CODING_STYLE;h=0b1f809e79717812c0fdd007e1ef5786a5f4e916;hp=598d241b2baa048c1bc18644ade20ea9dcfb3d49;hb=06c1c4f98c0d0b4c93e58d75ed5a08d722ec4de3;hpb=61f33134fc9231e07e1b9519b140d68139e9fad0 diff --git a/CODING_STYLE b/CODING_STYLE index 598d241b2..0b1f809e7 100644 --- a/CODING_STYLE +++ b/CODING_STYLE @@ -182,7 +182,16 @@ is_main_thread() to detect whether the calling thread is the main thread. -- Option parsing: +- Command line option parsing: - Do not print full help() on error, be specific about the error. - Do not print messages to stdout on error. - Do not POSIX_ME_HARDER unless necessary, i.e. avoid "+" in option string. + +- Do not write functions that clobber call-by-reference variables on + failure. Use temporary variables for these cases and change the + passed in variables only on success. + +- 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.