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/QMutex>
#include <QtCore/QMutexLocker>
#include <QtNetwork/QNetworkProxy>
#include <QtNetwork/QTcpSocket>
@@ -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>("Utils::SshError");
qRegisterMetaType<Utils::SftpJobId>("Utils::SftpJobId");
staticInitializationsDone = true;
}
staticInitMutex.unlock();
Botan::LibraryInitializer::initialize("thread_safe=true");
qRegisterMetaType<Utils::SshError>("Utils::SshError");
qRegisterMetaType<Utils::SftpJobId>("Utils::SftpJobId");
staticInitializationsDone = true;
}
}
} // anonymous namespace