MLIB
Loading...
Searching...
No Matches
mlib::mutex Class Reference

Wrapper for Windows mutexes. More...

Inheritance diagram for mlib::mutex:
mlib::syncbase

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.
 
syncbaseoperator= (const syncbase &rhs)
 Assignment operator.
 
syncbaseoperator= (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.
 

Detailed Description

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.

Member Function Documentation

◆ operator bool()

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.


The documentation for this class was generated from the following files: