diff options
author | Thiago Macieira <thiago.macieira@intel.com> | 2014-05-28 19:13:06 -0700 |
---|---|---|
committer | Thiago Macieira <thiago.macieira@intel.com> | 2015-01-23 19:13:12 +0100 |
commit | f3459a43af8098d286ff272cc8da5e0c755d0700 (patch) | |
tree | a9f35b05439bff0dbe56c95fb99bbb4e921fee28 /tests/auto/corelib/io/qprocess/tst_qprocess.cpp | |
parent | 9931fa9df4cb96a4006a3390db64f87e3b5bc1a0 (diff) |
Add spawnfd for use where fork / forkfd can't be used
In certain environments, using fork() is not recommended due to the need
for an MMU. This commit adds support for those environments, by using
posix_spawn. Limitations of this environment are:
- we cannot reliably detect failure to exec (e.g. non-existing executable)
- we cannot do setsid(); we do setpgrp(0, 0) instead
- we cannot thread-safely chdir() to the requested dir
Because of the former limitation, the QProcess unit tests that rely on
failure-to-start error conditions are either skipped or marked as
expected failures. There's a non-reliable solution that is implemented
in a another commit.
This change also makes it easier to transition the QNX builds to using
fork(), which is supported from QNX Neutrino 6.6 and onwards.
Change-Id: I5cb46abf2ef8783941525d35cc991f00d2bf2d58
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'tests/auto/corelib/io/qprocess/tst_qprocess.cpp')
0 files changed, 0 insertions, 0 deletions