1 #ifndef LIBFILEZILLA_MUTEX_HEADER 2 #define LIBFILEZILLA_MUTEX_HEADER 11 #include "private/windows.hpp" 27 class FZ_PUBLIC_SYMBOL
mutex final
30 explicit mutex(
bool recursive =
true);
68 EnterCriticalSection(m_);
70 pthread_mutex_lock(m_);
78 LeaveCriticalSection(m_);
80 pthread_mutex_unlock(m_);
97 EnterCriticalSection(m_);
99 pthread_mutex_lock(m_);
111 LeaveCriticalSection(m_);
113 pthread_mutex_unlock(m_);
121 CRITICAL_SECTION *
const m_;
123 pthread_mutex_t *
const m_;
183 CONDITION_VARIABLE cond_;
185 pthread_cond_t cond_;
bool signalled(scoped_lock const &) const
Check if condition is already signalled.
Definition: mutex.hpp:180
A simple scoped lock.
Definition: mutex.hpp:61
Waitable condition variable.
Definition: mutex.hpp:132
void lock()
Obtains the mutex.
Definition: mutex.hpp:93
Assorted classes dealing with time.
void unlock()
Releases the mutex.
Definition: mutex.hpp:107
The namespace used by libfilezilla.
Definition: apply.hpp:16
The duration class represents a time interval in milliseconds.
Definition: time.hpp:271
Sets some global macros and further includes string.hpp.
Lean replacement for std::(recursive_)mutex.
Definition: mutex.hpp:27