From 0efdb6cde6498782f17fe7ab2cc79b6091a6277e Mon Sep 17 00:00:00 2001 From: Christian Kandeler Date: Wed, 6 Jul 2011 14:56:58 +0200 Subject: [PATCH] SSH: Fix race condition. Change-Id: I4f52a2b604db14d088f2416989a502f91a16deab Reviewed-on: http://codereview.qt.nokia.com/1237 Reviewed-by: Qt Sanity Bot Reviewed-by: Daniel Teske --- src/libs/utils/ssh/sshconnection.cpp | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/libs/utils/ssh/sshconnection.cpp b/src/libs/utils/ssh/sshconnection.cpp index 0efdd0091e6..5ff083e6d2b 100644 --- a/src/libs/utils/ssh/sshconnection.cpp +++ b/src/libs/utils/ssh/sshconnection.cpp @@ -48,6 +48,7 @@ #include #include +#include #include #include @@ -70,15 +71,12 @@ namespace { void doStaticInitializationsIfNecessary() { + QMutexLocker locker(&staticInitMutex); if (!staticInitializationsDone) { - staticInitMutex.lock(); - if (!staticInitializationsDone) { - Botan::LibraryInitializer::initialize("thread_safe=true"); - qRegisterMetaType("Utils::SshError"); - qRegisterMetaType("Utils::SftpJobId"); - staticInitializationsDone = true; - } - staticInitMutex.unlock(); + Botan::LibraryInitializer::initialize("thread_safe=true"); + qRegisterMetaType("Utils::SshError"); + qRegisterMetaType("Utils::SftpJobId"); + staticInitializationsDone = true; } } } // anonymous namespace