2009-11-18 06:42:52 +07:00
|
|
|
|
|
|
|
- 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
|
|
|
|
|
2009-11-18 20:32:23 +07:00
|
|
|
- error codes are returned as negative Exxx. i.e. return -EINVAL. There
|
2009-11-18 06:42:52 +07:00
|
|
|
are some exceptions: for constructors its is OK to return NULL on
|
|
|
|
OOM. For lookup functions NULL is fine too for "not found".
|
2010-02-15 04:44:51 +07:00
|
|
|
|
|
|
|
- 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.
|