blocxx
|
#include <WinExec.hpp>
Public Member Functions | |
WinSystemPreExec () | |
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. | |
![]() | |
PreExec (bool precompute_max_descriptors=false) | |
virtual | ~PreExec () |
void | closeDescriptorsOnExec (std::vector< bool > const &keep) |
For calling from PreExec::call . | |
Additional Inherited Members | |
![]() | |
typedef ::BLOCXX_NAMESPACE::UnnamedPipe * | pipe_pointer_t |
![]() | |
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(). | |
![]() | |
long | m_max_descriptors |
Definition at line 69 of file WinExec.hpp.
|
inline |
Definition at line 73 of file WinExec.hpp.
References BLOCXX_NAMESPACE::Exec::PreExec::PreExec().
|
inlinevirtual |
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.
pparr | an 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.
Definition at line 77 of file WinExec.hpp.
|
inlinevirtual |
Process
object returned by spawn()
should contain one end of a pipe connected to standard descriptor d for the child process. False if standard descriptor d of child should be connected to /dev/null
.Implements BLOCXX_NAMESPACE::Exec::PreExec.
Definition at line 75 of file WinExec.hpp.