summaryrefslogtreecommitdiff
path: root/CODING_STYLE
diff options
context:
space:
mode:
Diffstat (limited to 'CODING_STYLE')
-rw-r--r--CODING_STYLE27
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.