summaryrefslogtreecommitdiffstats
path: root/src/corelib/io
diff options
context:
space:
mode:
authormread <qt-info@nokia.com>2009-08-10 13:18:56 (GMT)
committermread <qt-info@nokia.com>2009-08-10 13:18:56 (GMT)
commit34dd8163f4fcd16be5677fc94ce960cc464991d5 (patch)
treef871fef42b4f337a98bce77ad307efe079b7dc5f /src/corelib/io
parent0dfca6e13a7ad3cce38d5509d446f76eb496f398 (diff)
parent70e098d965318651acb725374b73e026f2946b76 (diff)
downloadQt-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.cpp12
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()
{