10#include <boost/thread/recursive_mutex.hpp>
31 void lock(int32_t timeout = 0);
48 template <
class OBJECT>
50 this->sync =
object->getSync();
60 void lock(int32_t timeout);
Utility class to support scope locking.
Definition: Synchronize.h:44
SyncLock(OBJECT object, int32_t timeout=0)
Definition: Synchronize.h:49
SyncLock(const SynchronizePtr &sync, int32_t timeout=0)
SynchronizePtr sync
Definition: Synchronize.h:57
void lock(int32_t timeout)
Utility class to support locking via a mutex.
Definition: Synchronize.h:16
void unlock()
Unlock mutex.
int64_t lockThread
Definition: Synchronize.h:23
static void createSync(SynchronizePtr &sync)
create a new Synchronize instance atomically.
boost::recursive_timed_mutex mutexSynchronize
Definition: Synchronize.h:22
int32_t recursionCount
Definition: Synchronize.h:24
bool holdsLock()
Returns true if mutex is currently locked by current thread.
void lock(int32_t timeout=0)
Lock mutex using an optional timeout.
int32_t unlockAll()
Unlock all recursive mutex.
Definition: AbstractAllTermDocs.h:12
boost::shared_ptr< Synchronize > SynchronizePtr
Definition: LuceneTypes.h:552