diff options
author | David Faure <david.faure@kdab.com> | 2013-03-15 19:38:21 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-03-29 04:04:40 +0100 |
commit | 5a5a09289fdc326be2e185e4d63dc243ce466e6c (patch) | |
tree | 2053c33a80400c118f9ddf573debef8aac1944dd /src/corelib/kernel/qeventloop_p.h | |
parent | 2f531d8db3aa9e7a1bbb9b674b43b9a71a3e4525 (diff) |
QEventLoop: fix race on 'exit' and 'returnCode' private members
Change-Id: I380046f386448783e3e4e93bde8cbe15b9b0279e
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/corelib/kernel/qeventloop_p.h')
-rw-r--r-- | src/corelib/kernel/qeventloop_p.h | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/src/corelib/kernel/qeventloop_p.h b/src/corelib/kernel/qeventloop_p.h index 8e2bfdb55e..30c61ca759 100644 --- a/src/corelib/kernel/qeventloop_p.h +++ b/src/corelib/kernel/qeventloop_p.h @@ -51,13 +51,17 @@ class QEventLoopPrivate : public QObjectPrivate Q_DECLARE_PUBLIC(QEventLoop) public: inline QEventLoopPrivate() - : exit(true), inExec(false), returnCode(-1) - { } + : inExec(false) + { + returnCode.store(-1); + exit.store(true); + } QAtomicInt quitLockRef; - bool exit, inExec; - int returnCode; + QBasicAtomicInt exit; // bool + QBasicAtomicInt returnCode; + bool inExec; void ref() { |