SSH: Fix race condition.

Change-Id: I4f52a2b604db14d088f2416989a502f91a16deab
Reviewed-on: http://codereview.qt.nokia.com/1237
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Daniel Teske <daniel.teske@nokia.com>
This commit is contained in:
Christian Kandeler
2011-07-06 14:56:58 +02:00
parent 8bddd27a2b
commit 0efdb6cde6

View File

@@ -48,6 +48,7 @@
#include <QtCore/QFile> #include <QtCore/QFile>
#include <QtCore/QMutex> #include <QtCore/QMutex>
#include <QtCore/QMutexLocker>
#include <QtNetwork/QNetworkProxy> #include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QTcpSocket> #include <QtNetwork/QTcpSocket>
@@ -70,16 +71,13 @@ namespace {
void doStaticInitializationsIfNecessary() void doStaticInitializationsIfNecessary()
{ {
if (!staticInitializationsDone) { QMutexLocker locker(&staticInitMutex);
staticInitMutex.lock();
if (!staticInitializationsDone) { if (!staticInitializationsDone) {
Botan::LibraryInitializer::initialize("thread_safe=true"); Botan::LibraryInitializer::initialize("thread_safe=true");
qRegisterMetaType<Utils::SshError>("Utils::SshError"); qRegisterMetaType<Utils::SshError>("Utils::SshError");
qRegisterMetaType<Utils::SftpJobId>("Utils::SftpJobId"); qRegisterMetaType<Utils::SftpJobId>("Utils::SftpJobId");
staticInitializationsDone = true; staticInitializationsDone = true;
} }
staticInitMutex.unlock();
}
} }
} // anonymous namespace } // anonymous namespace