MLIB
|
Wrapper for Windows mutexes. More...
Public Member Functions | |
mutex (const std::string &name=std::string()) | |
Constructor. | |
operator bool () | |
Check if mutex is free (signaled). | |
void | signal () |
Signal the mutex. | |
Public Member Functions inherited from mlib::syncbase | |
syncbase () | |
Default constructor. | |
syncbase (const syncbase &e) | |
Copy constructor. | |
syncbase (syncbase &&e) noexcept | |
Move constructor. | |
virtual | ~syncbase () |
Destructor. | |
syncbase & | operator= (const syncbase &rhs) |
Assignment operator. | |
syncbase & | operator= (syncbase &&rhs) noexcept |
Move assignment operator. | |
int | operator== (const syncbase &rhs) const |
Equality operator. | |
virtual void | wait () |
Wait for object to become signaled. | |
virtual DWORD | wait (DWORD limit_msec) |
Wait a number of milliseconds for the object to become signaled. | |
virtual DWORD | wait (std::chrono::milliseconds limit) |
Wait a number of milliseconds for the object to become signaled. | |
virtual DWORD | wait_alertable (DWORD limit_msec=INFINITE) |
virtual DWORD | wait_msg (DWORD limit_msec=INFINITE, DWORD mask=QS_ALLINPUT) |
Wait for object to become signaled or a message to be queued. | |
operator bool () | |
Check if object is signaled. | |
virtual bool | is_signaled () |
Try to wait on the object. | |
HANDLE | handle () const |
Return OS handle of this object. | |
virtual const std::string & | name () const |
Return object's name. | |
Additional Inherited Members | |
Protected Member Functions inherited from mlib::syncbase | |
syncbase (const std::string &name) | |
Protected constructor. | |
void | set_handle (HANDLE h) |
Change object's handle. Closes the previous one. | |
virtual void | name (const std::string &nam) |
Change object's name. | |
Wrapper for Windows mutexes.
Only one thread can acquire the object using a 'wait' function. Any other threads trying to acquire the mutex will be blocked until the object is freed using the 'signal' function.
mlib::mutex::operator bool | ( | ) |
Check if mutex is free (signaled).
If the mutex is acquired (i.e. it was free) it is released back immediately.