OpenTTD Source  1.11.0-beta2
thread.h File Reference
#include "debug.h"
#include <system_error>
#include <thread>

Go to the source code of this file.

Data Structures

class  OTTDThreadExitSignal
 Signal used for signalling we knowingly want to end the thread. More...
 

Functions

void CSleep (int milliseconds)
 Sleep on the current thread for a defined time. More...
 
void SetCurrentThreadName (const char *name)
 Name the thread this function is called on for the debugger. More...
 
template<class TFn , class... TArgs>
bool StartNewThread (std::thread *thr, const char *name, TFn &&_Fx, TArgs &&... _Ax)
 Start a new thread. More...
 

Detailed Description

Base of all threads.

Definition in file thread.h.

Function Documentation

◆ CSleep()

void CSleep ( int  milliseconds)
inline

Sleep on the current thread for a defined time.

Parameters
millisecondsTime to sleep for in milliseconds.

Definition at line 25 of file thread.h.

Referenced by ClientNetworkGameSocketHandler::CloseConnection().

◆ SetCurrentThreadName()

void SetCurrentThreadName ( const char *  name)

Name the thread this function is called on for the debugger.

Parameters
nameName to set for the thread..

Definition at line 215 of file os2.cpp.

◆ StartNewThread()

template<class TFn , class... TArgs>
bool StartNewThread ( std::thread *  thr,
const char *  name,
TFn &&  _Fx,
TArgs &&...  _Ax 
)
inline

Start a new thread.

Template Parameters
TFnType of the function to call on the thread.
TArgsType of the parameters of the thread function.
Parameters
thrPointer to a thread object; may be nullptr if a detached thread is wanted.
nameName of the thread.
_FxFunction to call on the thread.
_AxArguments for the thread function.
Returns
True if the thread was successfully started, false otherwise.

Definition at line 48 of file thread.h.

Referenced by VideoDriver_SDL::MainLoop(), VideoDriver_Win32Base::MainLoop(), VideoDriver_SDL_Base::MainLoop(), NetworkUDPAdvertise(), NetworkUDPQueryServer(), NetworkUDPRemoveAdvertise(), ScanNewGRFFiles(), LinkGraphJob::SpawnThread(), and TCPConnecter::TCPConnecter().