blocxx
BLOCXX_NAMESPACE::WinExec::WinStandardPreExec Class Reference

#include <WinExec.hpp>

Inheritance diagram for BLOCXX_NAMESPACE::WinExec::WinStandardPreExec:
BLOCXX_NAMESPACE::Exec::PreExec

Public Member Functions

 WinStandardPreExec ()
 
virtual bool keepStd (int d) const
 
virtual void call (pipe_pointer_t const pparr[])
 This function is called between fork and exec in the spawn() function.
 
STARTUPINFO getStartUpInfo ()
 
void setStartUpInfo (pipe_pointer_t const pparr[])
 
- Public Member Functions inherited from BLOCXX_NAMESPACE::Exec::PreExec
 PreExec (bool precompute_max_descriptors=false)
 
virtual ~PreExec ()
 
void closeDescriptorsOnExec (std::vector< bool > const &keep)
 For calling from PreExec::call.
 

Protected Attributes

STARTUPINFO m_startInfo
 
- Protected Attributes inherited from BLOCXX_NAMESPACE::Exec::PreExec
long m_max_descriptors
 

Additional Inherited Members

- Public Types inherited from BLOCXX_NAMESPACE::Exec::PreExec
typedef ::BLOCXX_NAMESPACE::UnnamedPipepipe_pointer_t
 
- Static Public Member Functions inherited from BLOCXX_NAMESPACE::Exec::PreExec
static void resetSignals ()
 For calling from PreExec::call.
 
static void closePipesOnExec (pipe_pointer_t const pparr[])
 For calling from PreExec::call.
 
static void setupStandardDescriptors (pipe_pointer_t const pparr[])
 For calling from PreExec::call.
 
static void setNewProcessGroup ()
 For calling from PreExec::call().
 

Detailed Description

Definition at line 51 of file WinExec.hpp.

Constructor & Destructor Documentation

◆ WinStandardPreExec()

BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::WinStandardPreExec ( )

Member Function Documentation

◆ call()

virtual void BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::call ( pipe_pointer_t const pparr[])
virtual

This function is called between fork and exec in the spawn() function.

It must not allocate memory unless you can guarantee that there is only one thread running – on some platforms allocating memory between fork and exec when there were other threads running can result in a deadlock.

Any exception thrown of type PreExec::Error or derived from std::exception is reported in full back to the parent; any exception derived from PreExec::DontCatch is allowed to propagate out of Exec::spawn; and any other type of exception is reported as an unknown exception.

Parameters
pparran array pointer that can be passed to the static functions close_pipes_on_exec() and setup_std_descriptors(). It includes pipes for each of the standard descriptors, plus any additional pipes used by Exec::spawn for communicating between child and parent before the execve occurs.

Implements BLOCXX_NAMESPACE::Exec::PreExec.

◆ getStartUpInfo()

STARTUPINFO BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::getStartUpInfo ( )
inline

Definition at line 61 of file WinExec.hpp.

References m_startInfo.

◆ keepStd()

virtual bool BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::keepStd ( int d) const
virtual
Returns
true

Implements BLOCXX_NAMESPACE::Exec::PreExec.

◆ setStartUpInfo()

void BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::setStartUpInfo ( pipe_pointer_t const pparr[])

Member Data Documentation

◆ m_startInfo

STARTUPINFO BLOCXX_NAMESPACE::WinExec::WinStandardPreExec::m_startInfo
protected

Definition at line 66 of file WinExec.hpp.

Referenced by getStartUpInfo().


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