OpenTTD: ThreadMutex_Win32 Class Reference

OpenTTD

- Main Page
- Related Pages
- Modules
- Namespaces
- Data Structures
- Files

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Private Attributes
ThreadMutex_Win32 Class Reference

Win32 thread version of ThreadMutex. More...

Inheritance diagram for ThreadMutex_Win32:

## 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.
Public Member Functions inherited from ThreadMutex
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 Public Member Functions inherited from ThreadMutex
static ThreadMutex * | New ()
| Create a new mutex.

## Detailed Description

Win32 thread version of ThreadMutex.

Definition at line 116 of file thread_win32.cpp.

## Member Function Documentation

void ThreadMutex_Win32::BeginCritical | ( | bool | allow_recursive = `false` | ) |
| inlinevirtual

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 135 of file thread_win32.cpp.

References critical_section, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_Win32::EndCritical | ( | bool | allow_recursive = `false` | ) |
| inlinevirtual

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 143 of file thread_win32.cpp.

References critical_section, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_Win32::WaitForSignal | ( |  | ) |
| inlinevirtual

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 150 of file thread_win32.cpp.

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

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

- src/thread/thread_win32.cpp