|
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.