OpenTTD
Public Member Functions | Private Attributes
ThreadMutex_OS2 Class Reference

OS/2 version of ThreadMutex. More...

Inheritance diagram for ThreadMutex_OS2:
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.
- Public Member Functions inherited from ThreadMutex
virtual ~ThreadMutex ()
 Virtual Destructor to avoid compiler warnings.

Private Attributes

HMTX mutex
 The mutex.
HEV event
 Event for waiting.
uint recursive_count
 Recursive lock count.

Additional Inherited Members

- Static Public Member Functions inherited from ThreadMutex
static ThreadMutexNew ()
 Create a new mutex.

Detailed Description

OS/2 version of ThreadMutex.

Definition at line 96 of file thread_os2.cpp.

Member Function Documentation

void ThreadMutex_OS2::BeginCritical ( bool  allow_recursive = false)
inlinevirtual

Begin the critical section.

Parameters
allow_recursiveWhether 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 115 of file thread_os2.cpp.

References mutex, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_OS2::EndCritical ( bool  allow_recursive = false)
inlinevirtual

End of the critical section.

Parameters
allow_recursiveWhether 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 123 of file thread_os2.cpp.

References mutex, and recursive_count.

Referenced by WaitForSignal().

void ThreadMutex_OS2::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 130 of file thread_os2.cpp.

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


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