diff options
Diffstat (limited to 'CODING_STYLE')
-rw-r--r-- | CODING_STYLE | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/CODING_STYLE b/CODING_STYLE new file mode 100644 index 0000000000..9341b48d41 --- /dev/null +++ b/CODING_STYLE @@ -0,0 +1,27 @@ + +- 8ch indent, no tabs + +- structs in MixedCase, variables, functions in lower_case + +- the destructors always unregister the object from the next bigger + object, not the other way around + +- to minimize strict aliasing violations we prefer unions over casting + +- for robustness reasons destructors should be able to destruct + half-initialized objects, too + +- error codes are returned as negative Exxx. i.e. return -EINVAL. There + are some exceptions: for constructors its is OK to return NULL on + OOM. For lookup functions NULL is fine too for "not found". + +- Do not issue NSS requests (that includes user name and host name + lookups) from the main daemon as this might trigger deadlocks when + we those lookups involve synchronously talking to services that we + would need to start up. + +- Do not access any directories outside of /etc/, /dev, /lib from the + init daemon to avoid deadlocks with the automounter. + +- Don't synchronously talk to any other service, due to risk of + deadlocks. |