Go to file
Thiago Macieira defd49f7bf forkfd: add FFD_VFORK_SEMANTICS flag
This flag asks forkfd() to use vfork semantics wherever available. That
is, suspend the calling process execution until the child either does an
execve(2) or _exit(2). The advantage of that is that it puts lower
pressure on the OS VMM system, as the number of pages that need to be
copy-on-write duplicated is much smaller (still not zero, as at least
the stack in the child will be written to).

However, the only implementation that supports using this flag for now
is Linux's pidfd. It would be possible to add to FreeBSD, but pdfork(2)
does not have a flag for this behavior -- if it gets one, we can add
support for it later. Everywhere else, we need to force the child to not
exit until we store the child process's PID in the ProcessInfo structure
we allocated, which means the parent process must run before we even
return from forkfd().

Change-Id: I1bee3bc466a04f19bd6efffd15f447f28c201aa9
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
2020-03-25 20:19:38 +01:00
bin Merge remote-tracking branch 'origin/5.13' into 5.14 2019-11-13 07:21:33 +01:00
config.tests
dist Add changes file for Qt 5.14.2 2020-03-17 06:16:25 +01:00
doc Examples: update examples list for Android 2020-03-03 19:35:34 +02:00
examples More qOverload cleanups in qtbase 2020-03-24 20:58:13 +01:00
lib
mkspecs Detect Visual C++ 2019 mode in clang_cl / intel_icl 2020-03-25 19:07:04 +00:00
qmake Doc: Remove \contentspage commands 2020-03-15 10:48:58 +01:00
src forkfd: add FFD_VFORK_SEMANTICS flag 2020-03-25 20:19:38 +01:00
tests forkfd: fix forkfd_wait when FFD_USE_FORK was active 2020-03-25 20:19:36 +01:00
util Deduplicate day-name data in QLocaleXML files 2020-03-16 08:51:46 +01:00
.gitattributes
.gitignore
.qmake.conf Bump version 2020-02-02 13:41:14 +01:00
.tag
config_help.txt Merge remote-tracking branch 'origin/5.14' into 5.15 2020-02-18 09:26:53 +01:00
configure Android: remove remaining reference to -android-toolchain-version 2019-11-18 14:13:32 +01:00
configure.bat
configure.json Merge remote-tracking branch 'origin/5.14' into 5.15 2020-02-18 09:26:53 +01:00
configure.pri configure: Add switch for clang's "source-based" code coverage feature 2020-01-28 20:26:15 +00:00
header.BSD
header.COMM
header.FDL
header.GPL
header.GPL-EXCEPT
header.LGPL
header.LGPL3
header.LGPL3-COMM
header.LGPL-NOGPL2
header.LGPL-ONLY
header.MIT
INSTALL
LICENSE.FDL
LICENSE.GPL2
LICENSE.GPL3
LICENSE.GPL3-EXCEPT
LICENSE.LGPL3
LICENSE.LGPLv3
LICENSE.QT-LICENSE-AGREEMENT Update enterprise license agreement v4.2.1 2019-12-18 13:07:19 +02:00
qtbase.pro
sync.profile Add QPasswordDigestor to syncqt 2019-12-12 12:43:56 +01:00