MutexWrapper#
Fully qualified name: carb::tasking::MutexWrapper
Defined in carb/tasking/TaskingUtils.h
-
class MutexWrapper#
Wrapper for a carb::tasking::Mutex that conforms to C++ Named Requirements of Lockable.
Non-recursive. If a recursive mutex is desired, use RecursiveMutexWrapper.
Public Functions
-
inline MutexWrapper()#
Constructs a new MutexWrapper object.
-
inline MutexWrapper(ITasking*)#
Constructs a new MutexWrapper object.
Note
Deprecated: ITasking no longer needed.
-
inline ~MutexWrapper()#
Destructor.
Warning
It is an error to destroy a mutex that is locked.
-
inline bool try_lock()#
Attempts to lock the mutex immediately.
Warning
It is an error to lock recursively. Use RecursiveSharedMutex if recursive locking is desired.
- Returns:
true if the mutex was locked; false otherwise
-
inline void lock()#
Locks the mutex, waiting until it becomes available.
Warning
It is an error to lock recursively. Use RecursiveSharedMutex if recursive locking is desired.
-
inline void unlock()#
Unlocks a mutex previously acquired with try_lock() or lock()
Warning
It is undefined behavior to unlock a mutex that is not owned by the current thread or task.
-
template<class Rep, class Period>
inline bool try_lock_for(
)# Attempts to lock a mutex within a specified duration.
Warning
It is an error to lock recursively. Use RecursiveSharedMutex if recursive locking is desired.
- Parameters:
duration – The duration to wait for the mutex to be available
- Returns:
true if the mutex was locked; false if the timeout period expired
-
template<class Clock, class Duration>
inline bool try_lock_until(
)# Attempts to lock a mutex waiting until a specific clock time.
Warning
It is an error to lock recursively. Use RecursiveSharedMutex if recursive locking is desired.
- Parameters:
time_point – The clock time to wait until.
- Returns:
true if the mutex was locked; false if the timeout period expired
-
inline ITasking *getTasking() const#
Returns the acquired ITasking interface that was used to construct this object.
Note
Deprecated: Use carb::getCachedInterface instead.
-
inline MutexWrapper()#