blocxx
BLOCXX_NAMESPACE::Process::Status Class Reference

Portable process status. More...

#include <Process.hpp>

Classes

struct  Repr
 

Public Member Functions

 Status (ProcId wpid, int status)
 
 Status (int rep1, int rep2, Repr)
 
 Status ()
 
bool running () const
 
bool exitTerminated () const
 
int exitStatus () const
 
bool terminatedSuccessfully () const
 
bool signalTerminated () const
 
bool terminated () const
 
int termSignal () const
 
bool stopped () const
 
int stopSignal () const
 
String toString () const
 Get a string representation of the status suitable for debugging or logging.
 
int getPOSIXwaitpidStatus () const
 Get the result from waitpid()
 
void repr (int &rep1, int &rep2) const
 

Private Attributes

bool m_status_available
 
int m_status
 

Detailed Description

Portable process status.

Definition at line 122 of file Process.hpp.

Constructor & Destructor Documentation

◆ Status() [1/3]

BLOCXX_NAMESPACE::Process::Status::Status ( ProcId wpid,
int status )
Invariant
Exactly one of running(), stopped() and terminated() is true.
Parameters
wpidreturn value from waitpid
statusstatus value assigned by waitpid.

Definition at line 102 of file Process.cpp.

◆ Status() [2/3]

BLOCXX_NAMESPACE::Process::Status::Status ( int rep1,
int rep2,
Repr  )
Precondition
rep1 and @rep2 were obtained by a prior call to repr() on some Status object.

Definition at line 108 of file Process.cpp.

◆ Status() [3/3]

BLOCXX_NAMESPACE::Process::Status::Status ( )
Postcondition
running() is true

Definition at line 167 of file Process.cpp.

Member Function Documentation

◆ exitStatus()

int BLOCXX_NAMESPACE::Process::Status::exitStatus ( ) const
Precondition
exitTerminated()
Returns
exit status of process, as passed to exit() or returned from main().

Definition at line 186 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ exitTerminated()

bool BLOCXX_NAMESPACE::Process::Status::exitTerminated ( ) const
Returns
Has the process terminated normally?

Definition at line 181 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ getPOSIXwaitpidStatus()

int BLOCXX_NAMESPACE::Process::Status::getPOSIXwaitpidStatus ( ) const

Get the result from waitpid()

Definition at line 191 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

Referenced by BLOCXX_NAMESPACE::Exec::executeProcessAndGatherOutput(), and BLOCXX_NAMESPACE::Exec::safeSystem().

◆ repr()

void BLOCXX_NAMESPACE::Process::Status::repr ( int & rep1,
int & rep2 ) const

Definition at line 218 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ running()

bool BLOCXX_NAMESPACE::Process::Status::running ( ) const
Returns
Is the process still running?

Definition at line 171 of file Process.cpp.

◆ signalTerminated()

bool BLOCXX_NAMESPACE::Process::Status::signalTerminated ( ) const
Returns
Has the process terminated because of an uncaught signal?

Definition at line 196 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ stopped()

bool BLOCXX_NAMESPACE::Process::Status::stopped ( ) const
Returns
Has the process stopped?

Definition at line 206 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ stopSignal()

int BLOCXX_NAMESPACE::Process::Status::stopSignal ( ) const
Precondition
stopped()
Returns
signal that caused the child to stop

Definition at line 211 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ terminated()

bool BLOCXX_NAMESPACE::Process::Status::terminated ( ) const

◆ terminatedSuccessfully()

bool BLOCXX_NAMESPACE::Process::Status::terminatedSuccessfully ( ) const
Returns
exitTerminated() && exitStatus() == 0

Definition at line 224 of file Process.cpp.

◆ termSignal()

int BLOCXX_NAMESPACE::Process::Status::termSignal ( ) const
Precondition
signalTerminated()
Returns
signal that caused the process to terminate.

Definition at line 201 of file Process.cpp.

References BLOCXX_NAMESPACE::Process::m_status.

◆ toString()

String BLOCXX_NAMESPACE::Process::Status::toString ( ) const

Get a string representation of the status suitable for debugging or logging.

Definition at line 229 of file Process.cpp.

References BLOCXX_NAMESPACE::SignalUtils::signalName().

Member Data Documentation

◆ m_status

int BLOCXX_NAMESPACE::Process::Status::m_status
private

Definition at line 199 of file Process.hpp.

◆ m_status_available

bool BLOCXX_NAMESPACE::Process::Status::m_status_available
private

Definition at line 198 of file Process.hpp.


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