diff options
| author | Alex Wang <alexw@nicira.com> | 2013-08-08 15:14:21 -0700 |
|---|---|---|
| committer | Ben Pfaff <blp@nicira.com> | 2013-08-09 13:48:11 -0700 |
| commit | bdd2719efb7483ea237698d8ca7c1459da01f368 (patch) | |
| tree | 1d1d40d35be9db33d8e334aaf981d020541bd0e3 /CodingStyle | |
| parent | 344e21d47ecfe342fc5c3c8f32020d7a43089301 (diff) | |
| download | openvswitch-bdd2719efb7483ea237698d8ca7c1459da01f368.tar.gz | |
CodingStyle: Add guide about using thread safety types and annotations.
This commit adds guide about using thread safety types and annotations
to CodingStyle file.
Signed-off-by: Alex Wang <alexw@nicira.com>
[blp@nicira.com edited the advice slightly]
Signed-off-by: Ben Pfaff <blp@nicira.com>
Diffstat (limited to 'CodingStyle')
| -rw-r--r-- | CodingStyle | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/CodingStyle b/CodingStyle index 55b37a1cb..2f24ee396 100644 --- a/CodingStyle +++ b/CodingStyle @@ -298,6 +298,21 @@ the name of each enum. For example: }; +THREAD SAFETY ANNOTATIONS + + Use the macros in lib/compiler.h to annotate locking requirements. +For example: + + static struct ovs_mutex mutex = OVS_MUTEX_INITIALIZER; + static struct ovs_rwlock rwlock = OVS_RWLOCK_INITIALIZER; + + void function_require_plain_mutex(void) OVS_REQUIRES(mutex); + void function_require_rwlock(void) OVS_REQ_RDLOCK(rwlock); + + Pass lock objects, not their addresses, to the annotation macros. +(Thus we have OVS_REQUIRES(mutex) above, not OVS_REQUIRES(&mutex).) + + SOURCE FILES Each source file should state its license in a comment at the very |
