aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPieter Wuille <[email protected]>2013-06-26 10:51:33 -0700
committerPieter Wuille <[email protected]>2013-06-26 10:51:33 -0700
commit1f2d739ac100ff9903ee0c21d618feb838cd7af8 (patch)
tree2a73dd66436c6ab2b99844f0e5e45f5b5e8b12fc
parentMerge pull request #2209 from CodeShark/WalletRegistrationLocks (diff)
parentAdded comments to sync.h to make it easier to understand the macros (diff)
downloaddiscoin-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.h42
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>