2009-11-18 07:42:52 +08: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 21:32:23 +08:00
|
|
|
- error codes are returned as negative Exxx. i.e. return -EINVAL. There
|
2009-11-18 07:42:52 +08:00
|
|
|
are some exceptions: for constructors its is OK to return NULL on
|
2012-10-02 03:40:58 +08:00
|
|
|
OOM. For lookup functions NULL is fine too for "not found"
|
2010-02-15 05:44:51 +08:00
|
|
|
|
|
|
|
- Do not issue NSS requests (that includes user name and host name
|
|
|
|
lookups) from the main daemon as this might trigger deadlocks when
|
2013-01-30 00:57:16 +08:00
|
|
|
those lookups involve synchronously talking to services that we
|
2012-10-02 03:40:58 +08:00
|
|
|
would need to start up
|
2010-02-15 05:44:51 +08:00
|
|
|
|
2012-10-02 03:48:15 +08:00
|
|
|
- Do not access any directories outside of /etc, /dev, /lib from the
|
2012-10-02 03:40:58 +08:00
|
|
|
init daemon to avoid deadlocks with the automounter
|
2010-02-15 05:44:51 +08:00
|
|
|
|
|
|
|
- Don't synchronously talk to any other service, due to risk of
|
2012-10-02 03:40:58 +08:00
|
|
|
deadlocks
|