diff options
author | Pieter Wuille <pieter.wuille@gmail.com> | 2013-06-26 10:51:33 -0700 |
---|---|---|
committer | Pieter Wuille <pieter.wuille@gmail.com> | 2013-06-26 10:51:33 -0700 |
commit | 1f2d739ac100ff9903ee0c21d618feb838cd7af8 (patch) | |
tree | 2a73dd66436c6ab2b99844f0e5e45f5b5e8b12fc | |
parent | 4ad73c6b080c46808b0c53b62ab6e4074e48dc75 (diff) | |
parent | 042da8bc0d913a84b62600399ffe93e1a88f50b3 (diff) |
Merge pull request #2174 from CodeShark/sync_macro_clarification
Added comments to sync.h to make it easier to understand the macros
-rw-r--r-- | src/sync.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/sync.h b/src/sync.h index 930c9b2b80..64de7cc57c 100644 --- a/src/sync.h +++ b/src/sync.h @@ -11,6 +11,48 @@ #include <boost/thread/condition_variable.hpp> #include "threadsafety.h" + +//////////////////////////////////////////////// +// // +// THE SIMPLE DEFINITON, EXCLUDING DEBUG CODE // +// // +//////////////////////////////////////////////// + +/* + + + +CCriticalSection mutex; + boost::recursive_mutex mutex; + +LOCK(mutex); + boost::unique_lock<boost::recursive_mutex> criticalblock(mutex); + +LOCK2(mutex1, mutex2); + boost::unique_lock<boost::recursive_mutex> criticalblock1(mutex1); + boost::unique_lock<boost::recursive_mutex> criticalblock2(mutex2); + +TRY_LOCK(mutex, name); + boost::unique_lock<boost::recursive_mutex> name(mutex, boost::try_to_lock_t); + +ENTER_CRITICAL_SECTION(mutex); // no RAII + mutex.lock(); + +LEAVE_CRITICAL_SECTION(mutex); // no RAII + mutex.unlock(); + + + + */ + + + +/////////////////////////////// +// // +// THE ACTUAL IMPLEMENTATION // +// // +/////////////////////////////// + // Template mixin that adds -Wthread-safety locking annotations to a // subset of the mutex API. template <typename PARENT> |