OpenTTD
|
Win32 thread version of ThreadMutex. More...
Public Member Functions | |
void | BeginCritical (bool allow_recursive=false) |
Begin the critical section. | |
void | EndCritical (bool allow_recursive=false) |
End of the critical section. | |
void | WaitForSignal () |
Wait for a signal to be send. | |
void | SendSignal () |
Send a signal and wake the 'thread' that was waiting for it. | |
![]() | |
virtual | ~ThreadMutex () |
Virtual Destructor to avoid compiler warnings. |
Private Attributes | |
CRITICAL_SECTION | critical_section |
The critical section we would enter. | |
HANDLE | event |
Event for signalling. | |
uint | recursive_count |
Recursive lock count. |
Additional Inherited Members | |
![]() | |
static ThreadMutex * | New () |
Create a new mutex. |
Win32 thread version of ThreadMutex.
Definition at line 109 of file thread_win32.cpp.
|
inlinevirtual |
Begin the critical section.
allow_recursive | Whether recursive locking is intentional. If false, NOT_REACHED() will be called when the mutex is already locked by the current thread. |
Implements ThreadMutex.
Definition at line 128 of file thread_win32.cpp.
References critical_section, and recursive_count.
Referenced by WaitForSignal().
|
inlinevirtual |
End of the critical section.
allow_recursive | Whether recursive unlocking is intentional. If false, NOT_REACHED() will be called when the mutex was locked more than once by the current thread. |
Implements ThreadMutex.
Definition at line 136 of file thread_win32.cpp.
References critical_section, and recursive_count.
Referenced by WaitForSignal().
|
inlinevirtual |
Wait for a signal to be send.
Implements ThreadMutex.
Definition at line 143 of file thread_win32.cpp.
References BeginCritical(), EndCritical(), event, and recursive_count.