diff --git a/indra/llcorehttp/httpcommon.cpp b/indra/llcorehttp/httpcommon.cpp index bbf23a6d70bfeb78b18da9ca537393c44470c0a9..61ba83594e0c24ee8b8f3b95697f7ed52b62fb0f 100644 --- a/indra/llcorehttp/httpcommon.cpp +++ b/indra/llcorehttp/httpcommon.cpp @@ -270,9 +270,6 @@ namespace LLHttp { namespace { -typedef boost::shared_ptr<LLMutex> LLMutex_ptr; -std::vector<LLMutex_ptr> sSSLMutex; - CURL *getCurlTemplateHandle() { static CURL *curlpTemplateHandle = NULL; diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index 72eb344ded5acd04e27867442035924bb67f01a2..69606793db877849360f2937e800cc096df5bc00 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -2006,7 +2006,9 @@ bool LLAppViewer::cleanup() if (LLConversationLog::instanceExists()) { LLConversationLog::instance().cache(); - } + } + + clearSecHandler(); if (mPurgeCacheOnExit) { diff --git a/indra/newview/llsecapi.cpp b/indra/newview/llsecapi.cpp index b9259cb18dfd6833854d4edc8545613e8da24622..aba8ca5a4afd17decc44056659467f5012ee47ed 100644 --- a/indra/newview/llsecapi.cpp +++ b/indra/newview/llsecapi.cpp @@ -75,6 +75,12 @@ void initializeSecHandler() } } + +void clearSecHandler() +{ + gSecAPIHandler = NULL; + gHandlerMap.clear(); +} // start using a given security api handler. If the string is empty // the default is used LLPointer<LLSecAPIHandler> getSecHandler(const std::string& handler_type) diff --git a/indra/newview/llsecapi.h b/indra/newview/llsecapi.h index 1e6f2154bca02d1b3011c6b4e7e1e5e6ac450699..410737b27f70bce88c45304d25a2aed2a8bc72d7 100644 --- a/indra/newview/llsecapi.h +++ b/indra/newview/llsecapi.h @@ -533,6 +533,8 @@ class LLSecAPIHandler : public LLThreadSafeRefCount }; void initializeSecHandler(); + +void clearSecHandler(); // retrieve a security api depending on the api type LLPointer<LLSecAPIHandler> getSecHandler(const std::string& handler_type);