52ed6af527
... into a new local class called QChildProcess. This groups all the information that the child process will need between the fork()/vfork() call and the eventual execve(). That currently includes: - the argv array, including resolving the program name to a path - the envp array, possibly a null - the working directory file descriptor - the disabled thread cancellation state We also move the fork() and vfork() calls to inside of this class, eliminating the the nested lambda was passed to vforkfd(). This duplicates the trick of calling a lambda in the child side of vfork() now for the non-file descriptor version too. None of this should have a side effect for the application. You may be able to tell apart only in system-call tracing tools like strace(1) or truss(1). Change-Id: Ib5ce7a497e034ebabb2cfffd176284edfdd71b32 Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io> Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> |
||
---|---|---|
.github/workflows | ||
bin | ||
cmake | ||
coin | ||
config.tests | ||
dist | ||
doc | ||
examples | ||
lib | ||
libexec | ||
LICENSES | ||
mkspecs | ||
qmake | ||
src | ||
tests | ||
util | ||
.cmake.conf | ||
.gitattributes | ||
.gitignore | ||
.lgtm.yml | ||
.tag | ||
CMakeLists.txt | ||
config_help.txt | ||
configure | ||
configure.bat | ||
configure.cmake | ||
dependencies.yaml | ||
qt_cmdline.cmake | ||
sync.profile |