diff options
| author | Pieter Wuille <[email protected]> | 2013-06-26 10:51:33 -0700 |
|---|---|---|
| committer | Pieter Wuille <[email protected]> | 2013-06-26 10:51:33 -0700 |
| commit | 1f2d739ac100ff9903ee0c21d618feb838cd7af8 (patch) | |
| tree | 2a73dd66436c6ab2b99844f0e5e45f5b5e8b12fc | |
| parent | Merge pull request #2209 from CodeShark/WalletRegistrationLocks (diff) | |
| parent | Added comments to sync.h to make it easier to understand the macros (diff) | |
| download | discoin-1f2d739ac100ff9903ee0c21d618feb838cd7af8.tar.xz discoin-1f2d739ac100ff9903ee0c21d618feb838cd7af8.zip | |
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 930c9b2b8..64de7cc57 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> |