BLOCXX_NAMESPACE::Process::Status Class Reference

Portable process status. More...

#include <Process.hpp>

List of all members.

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

Classes

struct  Repr


Detailed Description

Portable process status.

Definition at line 122 of file Process.hpp.


Constructor & Destructor Documentation

BLOCXX_NAMESPACE::Process::Status::Status ( ProcId  wpid,
int  status 
)

Invariant:
Exactly one of running(), stopped() and terminated() is true.
Parameters:
wpid return value from waitpid
status status value assigned by waitpid.

Definition at line 102 of file Process.cpp.

BLOCXX_NAMESPACE::Process::Status::Status ( int  rep1,
int  rep2,
Repr   
)

Precondition:
rep1 and were obtained by a prior call to repr() on some Status object.

Definition at line 108 of file Process.cpp.

BLOCXX_NAMESPACE::Process::Status::Status (  ) 

Postcondition:
running() is true

Definition at line 167 of file Process.cpp.


Member Function Documentation

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

Returns:
Is the process still running?

Definition at line 171 of file Process.cpp.

References m_status_available.

Referenced by toString().

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

Returns:
Has the process terminated normally?

Definition at line 181 of file Process.cpp.

References m_status, and m_status_available.

Referenced by terminatedSuccessfully(), and toString().

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 m_status.

Referenced by terminatedSuccessfully(), and toString().

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

Returns:
exitTerminated() && exitStatus() == 0

Definition at line 224 of file Process.cpp.

References exitStatus(), and exitTerminated().

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 m_status, and m_status_available.

Referenced by toString().

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

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 m_status.

Referenced by toString().

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

Returns:
Has the process stopped?

Definition at line 206 of file Process.cpp.

References m_status, and m_status_available.

Referenced by toString().

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 m_status.

Referenced by 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 exitStatus(), exitTerminated(), running(), BLOCXX_NAMESPACE::SignalUtils::signalName(), signalTerminated(), stopped(), stopSignal(), terminated(), and termSignal().

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

Get the result from waitpid().

Definition at line 191 of file Process.cpp.

References m_status.

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

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

Definition at line 218 of file Process.cpp.

References m_status, and m_status_available.


Member Data Documentation

Definition at line 198 of file Process.hpp.

Referenced by exitTerminated(), repr(), running(), signalTerminated(), stopped(), and terminated().


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

Generated on Wed Feb 25 19:05:08 2009 for blocxx by  doxygen 1.5.6