#include <bulkDataNTThreadSyncGuard.h>

Public Member Functions | |
| ThreadSyncGuard () | |
| ThreadSyncGuard (const char *label, pthread_mutex_t *m) | |
| ThreadSyncGuard (const char *label, pthread_mutex_t *m, const ACS::TimeInterval &to) | |
| ~ThreadSyncGuard () | |
| void | acquire (const ACS::TimeInterval &to) |
Private Member Functions | |
| ThreadSyncGuard (const ThreadSyncGuard &) | |
| ThreadSyncGuard & | operator= (const ThreadSyncGuard &) |
Private Attributes | |
| std::string | m_label |
| pthread_mutex_t * | m_mutex_p |
| bool | m_acquired |
An automatic unlocking guard that allows a timed wait.
| AcsBulkdata::ThreadSyncGuard::ThreadSyncGuard | ( | ) |
An empty constructor to force a healthy and no-op construction of our ACS base.
| AcsBulkdata::ThreadSyncGuard::ThreadSyncGuard | ( | const char * | label, | |
| pthread_mutex_t * | m | |||
| ) |
Instanciates but it does not try to lock.
| AcsBulkdata::ThreadSyncGuard::ThreadSyncGuard | ( | const char * | label, | |
| pthread_mutex_t * | m, | |||
| const ACS::TimeInterval & | to | |||
| ) |
Instanciates and tries to lock.
| AcsBulkdata::ThreadSyncGuard::~ThreadSyncGuard | ( | ) |
Destructor unlocks the mutex if needed.
| AcsBulkdata::ThreadSyncGuard::ThreadSyncGuard | ( | const ThreadSyncGuard & | ) | [private] |
Copying from a second guard is not part of the semantic, the mutex state is not be transfer from one object to a second.
| void AcsBulkdata::ThreadSyncGuard::acquire | ( | const ACS::TimeInterval & | to | ) |
Acquire with timeout.
| ThreadSyncGuard& AcsBulkdata::ThreadSyncGuard::operator= | ( | const ThreadSyncGuard & | ) | [private] |
bool AcsBulkdata::ThreadSyncGuard::m_acquired [private] |
Whether the mutex is currently locked or not.
std::string AcsBulkdata::ThreadSyncGuard::m_label [private] |
A short description to add meaningful content to error logs.
pthread_mutex_t* AcsBulkdata::ThreadSyncGuard::m_mutex_p [private] |
Mutex provided by the user.
1.7.0