diff options
author | mread <qt-info@nokia.com> | 2009-08-10 13:18:56 (GMT) |
---|---|---|
committer | mread <qt-info@nokia.com> | 2009-08-10 13:18:56 (GMT) |
commit | 34dd8163f4fcd16be5677fc94ce960cc464991d5 (patch) | |
tree | f871fef42b4f337a98bce77ad307efe079b7dc5f /src/corelib/io | |
parent | 0dfca6e13a7ad3cce38d5509d446f76eb496f398 (diff) | |
parent | 70e098d965318651acb725374b73e026f2946b76 (diff) | |
download | Qt-34dd8163f4fcd16be5677fc94ce960cc464991d5.zip Qt-34dd8163f4fcd16be5677fc94ce960cc464991d5.tar.gz Qt-34dd8163f4fcd16be5677fc94ce960cc464991d5.tar.bz2 |
Merge branch 'master' of git@scm.dev.nokia.troll.no:qt/qt-s60-public
Diffstat (limited to 'src/corelib/io')
-rw-r--r-- | src/corelib/io/qprocess_unix.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 607b734..168eac2 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -162,7 +162,17 @@ private: QMap<int, QProcessInfo *> children; }; -Q_GLOBAL_STATIC(QProcessManager, processManager) + +Q_GLOBAL_STATIC(QMutex, processManagerGlobalMutex) + +static QProcessManager *processManager() { + // The constructor of QProcessManager should be called only once + // so we cannot use Q_GLOBAL_STATIC directly for QProcessManager + QMutex *mutex = processManagerGlobalMutex(); + QMutexLocker locker(mutex); + static QProcessManager processManager; + return &processManager; +} QProcessManager::QProcessManager() { |