summaryrefslogtreecommitdiffstats
path: root/src/corelib/io/qprocess.cpp
diff options
context:
space:
mode:
authorRafael Roquetto <rafael.roquetto@kdab.com>2012-02-15 16:52:43 +0100
committerQt by Nokia <qt-info@nokia.com>2012-02-17 08:46:40 +0100
commite3363fd945b3ab961fba720ee013533dd8ba2930 (patch)
tree2ef072dc27562e365eb28652d7cc51f455d12728 /src/corelib/io/qprocess.cpp
parent147a38faa6afbe616a9e6a123c8dbb5b00e458ef (diff)
Enables QProcess back on QNX.
Because fork()/vfork() on QNX are not supported on multithreaded applications, QProcess had been disabled on this platform. The corresponding code has now been replaced with functions that wrap around spawn(). Change-Id: I46091b7d41f322a5cad07d17893aa929c84941ef Reviewed-by: Thiago Macieira <thiago.macieira@intel.com> Reviewed-by: Lars Knoll <lars.knoll@nokia.com>
Diffstat (limited to 'src/corelib/io/qprocess.cpp')
-rw-r--r--src/corelib/io/qprocess.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 0a0097c887..1312e9b55f 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -520,6 +520,11 @@ void QProcessPrivate::Channel::clear()
setWorkingDirectory(). By default, processes are run in the
current working directory of the calling process.
+ \note On QNX, setting the working directory may cause all
+ application threads, with the exception of the QProcess caller
+ thread, to momentaneusly freeze, owing to a limitation in
+ the operating system.
+
\section1 Synchronous Process API
QProcess provides a set of functions which allow it to be used
@@ -1433,6 +1438,9 @@ QString QProcess::workingDirectory() const
process in this directory. The default behavior is to start the
process in the working directory of the calling process.
+ \note On QNX, this may cause all application threads to
+ momentaneusly freeze.
+
\sa workingDirectory(), start()
*/
void QProcess::setWorkingDirectory(const QString &dir)
@@ -1755,7 +1763,7 @@ void QProcess::setProcessState(ProcessState state)
exit().
\warning This function is called by QProcess on Unix and Mac OS X
- only. On Windows, it is not called.
+ only. On Windows and QNX, it is not called.
*/
void QProcess::setupChildProcess()
{
@@ -2149,6 +2157,9 @@ int QProcess::execute(const QString &program)
The process will be started in the directory \a workingDirectory.
+ \note On QNX, this may cause all application threads to
+ momentaneusly freeze.
+
If the function is successful then *\a pid is set to the process
identifier of the started process.
*/