29 #ifndef __UTILS_COMMAND_IOS_ABSTRACTION_LAYER_H__ 30 #define __UTILS_COMMAND_IOS_ABSTRACTION_LAYER_H__ 69 virtual ~IOsal() =
default;
119 char*
const envp[])
const = 0;
This class is a high level interface added to ease testability of component that use Executor...
Definition: IOsal.h:51
virtual void sanitizeFiles() const =0
Close all opened file descriptors except those related to the standard streams (stdin, stdout, stderr). These are reopened to /dev/null if not already opened.
virtual void reseedPRNG() const =0
Initialize the Random Number Generator for a new sequence of pseudo-random integers to be returned by...
virtual void executeProgram(const char *pathname, char *const argv[], char *const envp[]) const =0
Execute the program referred to by pathname.
virtual void waitChildProcess() const =0
Wait for any child process whose process group ID is equal to that of the calling process...
virtual void dropPrivileges() const =0
Permanently drop the privileges of the process.
ProcessId
An id to inform caller about the current process type after a new process has been created...
Definition: IOsal.h:60
IOsal & operator=(const IOsal &)=delete
virtual ProcessId createProcess() const =0
creates a new process by duplicating the calling process.