Public Member Functions | Private Attributes

ThreadMutex_Win32 Class Reference

Win32 thread version of ThreadMutex. More...

Inheritance diagram for ThreadMutex_Win32:
ThreadMutex

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.

Private Attributes

CRITICAL_SECTION critical_section
 The critical section we would enter.
HANDLE event
 Event for signalling.
uint recursive_count
 Recursive lock count.

Detailed Description

Win32 thread version of ThreadMutex.

Definition at line 107 of file thread_win32.cpp.


Member Function Documentation

void ThreadMutex_Win32::BeginCritical ( bool  allow_recursive = false  )  [inline, virtual]

Begin the critical section.

Parameters:
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 126 of file thread_win32.cpp.

References critical_section, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_Win32::EndCritical ( bool  allow_recursive = false  )  [inline, virtual]

End of the critical section.

Parameters:
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 134 of file thread_win32.cpp.

References critical_section, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_Win32::WaitForSignal (  )  [inline, virtual]

Wait for a signal to be send.

Precondition:
You must be in the critical section.
Note:
While waiting the critical section is left.
Postcondition:
You will be in the critical section.

Implements ThreadMutex.

Definition at line 141 of file thread_win32.cpp.

References BeginCritical(), EndCritical(), event, and recursive_count.


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