Merge pull request #2174 from CodeShark/sync_macro_clarification

Added comments to sync.h to make it easier to understand the macros
This commit is contained in:
Pieter Wuille 2013-06-26 10:51:33 -07:00
commit 1f2d739ac1

View file

@ -11,6 +11,48 @@
#include <boost/thread/condition_variable.hpp> #include <boost/thread/condition_variable.hpp>
#include "threadsafety.h" #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 // Template mixin that adds -Wthread-safety locking annotations to a
// subset of the mutex API. // subset of the mutex API.
template <typename PARENT> template <typename PARENT>