History

Fix concurrency issues for bools in ScriptEngine

Several member variables were unsafely being accessed from multiple threads. Making these variables std::atomic makes this safe.

Ryan Huffman committed 10 years ago

Commit 4dbfd3b1 parent d12fdb92 files · +4 −4Browse files

Showing the changes to libraries/script-engine/src/ScriptEngine.cpp (1 of 2 files). Show all

Unified · Split

libraries/script-engine/src/ScriptEngine.cpp+1−1
@@ -183,7 +183,7 @@ void ScriptEngine::runInThread() { · 182 unmodified lines
183183
184184 QSet<ScriptEngine*> ScriptEngine::_allKnownScriptEngines;
185185 QMutex ScriptEngine::_allScriptsMutex;
186−bool ScriptEngine::_stoppingAllScripts = false;
186+std::atomic<bool> ScriptEngine::_stoppingAllScripts = false;
187187
188188 void ScriptEngine::stopAllScripts(QObject* application) {
189189 _allScriptsMutex.lock();