#include <locks.hpp>
Definition at line 46 of file locks.hpp.
◆ callback_func
typedef void(* jau::RecursiveLock::callback_func) () noexcept |
|
noexcept |
◆ RecursiveLock() [1/2]
jau::RecursiveLock::RecursiveLock |
( |
| ) |
|
|
inlinenoexcept |
◆ RecursiveLock() [2/2]
◆ operator=()
◆ isOwner() [1/2]
bool jau::RecursiveLock::isOwner |
( |
std::thread::id | id | ) |
const |
|
inlinenoexcept |
◆ isOwner() [2/2]
bool jau::RecursiveLock::isOwner |
( |
| ) |
const |
|
inlinenoexcept |
◆ holdCount()
nsize_t jau::RecursiveLock::holdCount |
( |
| ) |
|
|
inlinenoexcept |
Return the number of locks issued to this lock by the same thread.
-
A hold count of 0 identifies this lock as unlocked.
-
A hold count of 1 identifies this lock as locked.
-
A hold count of > 1 identifies this lock as recursively lock.
Definition at line 73 of file locks.hpp.
◆ lock()
void jau::RecursiveLock::lock |
( |
| ) |
|
|
inline |
Acquire this lock indefinitely (no timeout)
Definition at line 78 of file locks.hpp.
◆ tryLock()
bool jau::RecursiveLock::tryLock |
( |
const fraction_i64 & | timeout | ) |
|
|
inline |
Try to acquire this lock within given timeout in seconds.
- Parameters
-
timeout | maximum duration in fractions of seconds to wait, where fractions_i64::zero waits infinitely |
- Returns
- true if successful, otherwise false in case timeout occurred or otherwise.
Definition at line 91 of file locks.hpp.
◆ validateLocked()
void jau::RecursiveLock::validateLocked |
( |
| ) |
const |
|
inline |
◆ unlock()
void jau::RecursiveLock::unlock |
( |
callback_func | taskBeforeUnlock = nullptr | ) |
|
|
inline |
◆ toString()
std::string jau::RecursiveLock::toString |
( |
| ) |
const |
|
inline |
The documentation for this class was generated from the following file: