OpenTTD: ThreadMutex_pthread Class Reference

OpenTTD

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

- Data Structures
- Class Hierarchy
- Data Fields

Public Member Functions | Private Attributes
ThreadMutex_pthread Class Reference

POSIX pthread version of ThreadMutex. More...

Inheritance diagram for ThreadMutex_pthread:

## Public Member Functions
bool | IsOwnedByCurrentThread () const
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
pthread_mutex_t | mutex
| The actual mutex.
pthread_cond_t | condition
| Data for conditional waiting.
pthread_mutexattr_t | attr
| Attributes set for the mutex.
pthread_t | owner
| Owning thread of the mutex.
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

POSIX pthread version of ThreadMutex.

Definition at line 108 of file thread_pthread.cpp.

## Member Function Documentation

void ThreadMutex_pthread::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 138 of file thread_pthread.cpp.

References mutex, owner, and recursive_count.

void ThreadMutex_pthread::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 152 of file thread_pthread.cpp.

References mutex, owner, and recursive_count.

void ThreadMutex_pthread::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 163 of file thread_pthread.cpp.

References condition, mutex, owner, and recursive_count.

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

- src/thread/thread_pthread.cpp