| OpenTTD
    | 
Cross-platform Mutex. More...
#include <thread.h>
 
  
 | Public Member Functions | |
| virtual | ~ThreadMutex () | 
| Virtual Destructor to avoid compiler warnings. | |
| virtual void | BeginCritical (bool allow_recursive=false)=0 | 
| Begin the critical section. | |
| virtual void | EndCritical (bool allow_recursive=false)=0 | 
| End of the critical section. | |
| virtual void | WaitForSignal ()=0 | 
| Wait for a signal to be send. | |
| virtual void | SendSignal ()=0 | 
| Send a signal and wake the 'thread' that was waiting for it. | |
| Static Public Member Functions | |
| static ThreadMutex * | New () | 
| Create a new mutex. | |
| 
 | pure virtual | 
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. | 
Implemented in ThreadMutex_pthread, ThreadMutex_Win32, ThreadMutex_OS2, and ThreadMutex_None.
Referenced by _GenerateWorld(), VideoDriver_SDL::AfterBlitterChange(), VideoDriver_Win32::AfterBlitterChange(), VideoDriver_SDL::ChangeResolution(), VideoDriver_Win32::ChangeResolution(), PacketWriter::Destroy(), DoScanNewGRFFiles(), DrawDirtyBlocks(), VideoDriver_Win32::EditBoxLostFocus(), PacketWriter::Finish(), GenerateWorld(), VideoDriver_SDL::MainLoop(), VideoDriver_Win32::MainLoop(), NetworkBackgroundUDPLoop(), NetworkGameListAddItemDelayed(), NetworkGameListHandleDelayedInsert(), NetworkUDPAdvertiseThread(), NetworkUDPClose(), NetworkUDPInitialize(), NetworkUDPQueryServer(), NetworkUDPRemoveAdvertiseThread(), openttd_main(), PacketWriter::PopPacket(), ScanNewGRFFiles(), ThreadMutexLocker::ThreadMutexLocker(), VideoDriver_SDL::ToggleFullscreen(), VideoDriver_Win32::ToggleFullscreen(), WaitTillGeneratedWorld(), PacketWriter::Write(), and PacketWriter::~PacketWriter().
| 
 | pure virtual | 
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. | 
Implemented in ThreadMutex_pthread, ThreadMutex_Win32, ThreadMutex_OS2, and ThreadMutex_None.
Referenced by _GenerateWorld(), VideoDriver_SDL::AfterBlitterChange(), VideoDriver_Win32::AfterBlitterChange(), VideoDriver_SDL::ChangeResolution(), VideoDriver_Win32::ChangeResolution(), PacketWriter::Destroy(), DoScanNewGRFFiles(), DrawDirtyBlocks(), VideoDriver_Win32::EditBoxLostFocus(), PacketWriter::Finish(), GenerateWorld(), VideoDriver_SDL::MainLoop(), VideoDriver_Win32::MainLoop(), NetworkBackgroundUDPLoop(), NetworkGameListAddItemDelayed(), NetworkGameListHandleDelayedInsert(), NetworkUDPAdvertiseThread(), NetworkUDPClose(), NetworkUDPInitialize(), NetworkUDPQueryServer(), NetworkUDPRemoveAdvertiseThread(), PacketWriter::PopPacket(), ScanNewGRFFiles(), VideoDriver_SDL::ToggleFullscreen(), VideoDriver_Win32::ToggleFullscreen(), WaitTillGeneratedWorld(), PacketWriter::Write(), PacketWriter::~PacketWriter(), and ThreadMutexLocker::~ThreadMutexLocker().
| 
 | pure virtual | 
Wait for a signal to be send.
Implemented in ThreadMutex_pthread, ThreadMutex_Win32, ThreadMutex_OS2, and ThreadMutex_None.
Referenced by VideoDriver_SDL::MainLoop(), and PacketWriter::~PacketWriter().
 1.8.1.2
 1.8.1.2