Guitar
Public Member Functions | Public Attributes | Protected Member Functions | List of all members
ProcessPosixThread Class Reference
Collaboration diagram for ProcessPosixThread:
Collaboration graph
[legend]

Public Member Functions

void init (std::mutex *mutex, bool use_input)
 
void reset ()
 
 ProcessPosixThread ()=default
 
 ~ProcessPosixThread ()
 
void writeInput (char const *ptr, int len)
 
void closeInput ()
 
void start ()
 
bool waitFor (int time)
 
void terminate ()
 
void stop ()
 
void wait ()
 

Public Attributes

std::thread thread
 
std::mutex finished_mutex
 
std::condition_variable finished_cv
 
bool finished = true
 
std::mutex * mutex = nullptr
 
std::vector< std::string > argvec
 
std::vector< char * > args
 
std::deque< char > inq
 
std::deque< char > outq
 
std::deque< char > errq
 
bool use_input = false
 
int fd_in_read = -1
 
std::atomic< pid_t > pid { 0 }
 
std::atomic< long long > term_deadline_ms { 0 }
 
int exit_code = -1
 
int error_code = 0
 
std::string error_message
 
bool close_input_later = false
 

Protected Member Functions

void run ()
 

Constructor & Destructor Documentation

◆ ProcessPosixThread()

ProcessPosixThread::ProcessPosixThread ( )
default

◆ ~ProcessPosixThread()

ProcessPosixThread::~ProcessPosixThread ( )
inline
Here is the call graph for this function:

Member Function Documentation

◆ closeInput()

void ProcessPosixThread::closeInput ( )
inline

◆ init()

void ProcessPosixThread::init ( std::mutex *  mutex,
bool  use_input 
)
inline

◆ reset()

void ProcessPosixThread::reset ( )
inline

◆ run()

void ProcessPosixThread::run ( )
inlineprotected
Here is the call graph for this function:

◆ start()

void ProcessPosixThread::start ( )
inline
Here is the call graph for this function:

◆ stop()

void ProcessPosixThread::stop ( )
inline

◆ terminate()

void ProcessPosixThread::terminate ( )
inline
Here is the call graph for this function:

◆ wait()

void ProcessPosixThread::wait ( )
inline
Here is the call graph for this function:

◆ waitFor()

bool ProcessPosixThread::waitFor ( int  time)
inline

◆ writeInput()

void ProcessPosixThread::writeInput ( char const *  ptr,
int  len 
)
inline

Member Data Documentation

◆ args

std::vector<char *> ProcessPosixThread::args

◆ argvec

std::vector<std::string> ProcessPosixThread::argvec

◆ close_input_later

bool ProcessPosixThread::close_input_later = false

◆ error_code

int ProcessPosixThread::error_code = 0

◆ error_message

std::string ProcessPosixThread::error_message

◆ errq

std::deque<char> ProcessPosixThread::errq

◆ exit_code

int ProcessPosixThread::exit_code = -1

◆ fd_in_read

int ProcessPosixThread::fd_in_read = -1

◆ finished

bool ProcessPosixThread::finished = true

◆ finished_cv

std::condition_variable ProcessPosixThread::finished_cv

◆ finished_mutex

std::mutex ProcessPosixThread::finished_mutex

◆ inq

std::deque<char> ProcessPosixThread::inq

◆ mutex

std::mutex* ProcessPosixThread::mutex = nullptr

◆ outq

std::deque<char> ProcessPosixThread::outq

◆ pid

std::atomic<pid_t> ProcessPosixThread::pid { 0 }

◆ term_deadline_ms

std::atomic<long long> ProcessPosixThread::term_deadline_ms { 0 }

◆ thread

std::thread ProcessPosixThread::thread

◆ use_input

bool ProcessPosixThread::use_input = false

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