blob: 93f54f6edca9f66d675dd5f1a7e23804409bd185 [file] [log] [blame] [raw]
- 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 acccess 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.