| OpenTTD
    | 
POSIX pthread version of ThreadMutex. More...
 
  
 | 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. | |
POSIX pthread version of ThreadMutex.
Definition at line 108 of file thread_pthread.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 138 of file thread_pthread.cpp.
References mutex, owner, and recursive_count.
| 
 | 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 152 of file thread_pthread.cpp.
References mutex, owner, and recursive_count.
| 
 | inlinevirtual | 
Wait for a signal to be send.
Implements ThreadMutex.
Definition at line 163 of file thread_pthread.cpp.
References condition, mutex, owner, and recursive_count.
 1.8.1.2
 1.8.1.2