From: Lennart Poettering Date: Fri, 12 Apr 2019 14:50:24 +0000 (+0200) Subject: CODING_STYLE: split out section about deadlocks X-Git-Tag: v243-rc1~555^2~3 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=3b75e079a8d95c53628740f32e06dbe83b88f328;p=thirdparty%2Fsystemd.git CODING_STYLE: split out section about deadlocks --- diff --git a/docs/CODING_STYLE.md b/docs/CODING_STYLE.md index 6a743fb4933..017a26c6968 100644 --- a/docs/CODING_STYLE.md +++ b/docs/CODING_STYLE.md @@ -73,14 +73,6 @@ title: Coding Style - To minimize strict aliasing violations, we prefer unions over casting. -- Do not issue NSS requests (that includes user name and host name - lookups) from PID 1 as this might trigger deadlocks when those - lookups involve synchronously talking to services that we would need - to start up. - -- Do not synchronously talk to any other service from PID 1, due to - risk of deadlocks. - - Be exceptionally careful when formatting and parsing floating point numbers. Their syntax is locale dependent (i.e. `5.000` in en_US is generally understood as 5, while in de_DE as 5000.). @@ -419,6 +411,15 @@ title: Coding Style headers (i.e those in `src/systemd/sd-*.h`) use integers after all, as `bool` is C99 and in our public APIs we try to stick to C89 (with a few extension). +## Deadlocks + +- Do not issue NSS requests (that includes user name and host name lookups) + from PID 1 as this might trigger deadlocks when those lookups involve + synchronously talking to services that we would need to start up. + +- Do not synchronously talk to any other service from PID 1, due to risk of + deadlocks. + ## File Descriptors - When you allocate a file descriptor, it should be made `O_CLOEXEC` right from