diff options
author | Ritt Konstantin <qnx@ics.com> | 2011-06-21 11:51:06 (GMT) |
---|---|---|
committer | Harald Fernengel <harald.fernengel@nokia.com> | 2011-06-21 12:05:40 (GMT) |
commit | 3cd73f550256069c6756b0b01d717f1f42b83068 (patch) | |
tree | 86d7b39888f6f43ef6cd856b0c87569323176afc /src/corelib/io/qprocess_p.h | |
parent | 09cd27db5e9f35834edccbc56f938fe340daa14f (diff) | |
download | Qt-3cd73f550256069c6756b0b01d717f1f42b83068.zip Qt-3cd73f550256069c6756b0b01d717f1f42b83068.tar.gz Qt-3cd73f550256069c6756b0b01d717f1f42b83068.tar.bz2 |
make QProcess really work on QNX
a multi-threaded QNX Process can't fork properly so we call spawn() instead
Merge-request: 1259
Reviewed-by: Harald Fernengel <harald.fernengel@nokia.com>
Diffstat (limited to 'src/corelib/io/qprocess_p.h')
-rw-r--r-- | src/corelib/io/qprocess_p.h | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess_p.h b/src/corelib/io/qprocess_p.h index 9adb331..f24a7bc 100644 --- a/src/corelib/io/qprocess_p.h +++ b/src/corelib/io/qprocess_p.h @@ -288,11 +288,15 @@ public: QRingBuffer errorReadBuffer; QRingBuffer writeBuffer; +#ifndef Q_OS_QNX Q_PIPE childStartedPipe[2]; +#endif Q_PIPE deathPipe[2]; void destroyPipe(Q_PIPE pipe[2]); +#ifndef Q_OS_QNX QSocketNotifier *startupSocketNotifier; +#endif QSocketNotifier *deathNotifier; // the wonderful windows notifier @@ -301,8 +305,10 @@ public: QWinEventNotifier *processFinishedNotifier; void startProcess(); -#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) +#if defined(Q_OS_UNIX) && !defined(Q_OS_SYMBIAN) && !defined(Q_OS_QNX) void execChild(const char *workingDirectory, char **path, char **argv, char **envp); +#elif defined(Q_OS_QNX) + pid_t spawnChild(const char *workingDirectory, char **argv, char **envp); #endif bool processStarted(); void terminateProcess(); |