diff options
Diffstat (limited to 'indra/llmessage')
-rw-r--r-- | indra/llmessage/llcurl.cpp | 11 | ||||
-rw-r--r-- | indra/llmessage/llcurl.h | 1 | ||||
-rw-r--r-- | indra/llmessage/llmessageconfig.cpp | 5 | ||||
-rw-r--r-- | indra/llmessage/message.cpp | 9 |
4 files changed, 22 insertions, 4 deletions
diff --git a/indra/llmessage/llcurl.cpp b/indra/llmessage/llcurl.cpp index 3c8ebaeba1..ffc15d45f7 100644 --- a/indra/llmessage/llcurl.cpp +++ b/indra/llmessage/llcurl.cpp @@ -322,6 +322,12 @@ namespace } return sMainMulti; } + + void freeMulti() + { + delete sMainMulti; + sMainMulti = NULL; + } } void @@ -342,3 +348,8 @@ LLCurl::process() mainMulti()->process(); } +void LLCurl::cleanup() +{ + freeMulti(); + curl_global_cleanup(); +} diff --git a/indra/llmessage/llcurl.h b/indra/llmessage/llcurl.h index 4e45864cae..5335906b47 100644 --- a/indra/llmessage/llcurl.h +++ b/indra/llmessage/llcurl.h @@ -108,6 +108,7 @@ public: static void getByteRange(const std::string& url, S32 offset, S32 length, ResponderPtr responder); static void process(); + static void cleanup(); }; namespace boost diff --git a/indra/llmessage/llmessageconfig.cpp b/indra/llmessage/llmessageconfig.cpp index a2b0bc5efa..3cc17d67df 100644 --- a/indra/llmessage/llmessageconfig.cpp +++ b/indra/llmessage/llmessageconfig.cpp @@ -92,9 +92,10 @@ void LLMessageConfigFile::loadServerDefaults(const LLSD& data) void LLMessageConfigFile::loadMessages(const LLSD& data) { - mMessages = data["messages"]; + LLPointer<LLSDXMLFormatter> formatter = new LLSDXMLFormatter; std::ostringstream out; - LLSDXMLFormatter *formatter = new LLSDXMLFormatter; + + mMessages = data["messages"]; formatter->format(mMessages, out); lldebugs << "loading ... " << out.str() << " LLMessageConfigFile::loadMessages loaded " diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index dfc18e0b2e..a305797fd2 100644 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -1324,12 +1324,17 @@ LLMessageSystem::~LLMessageSystem() end_net(); } - delete mMessageReader; + delete mTemplateMessageReader; + mTemplateMessageReader = NULL; mMessageReader = NULL; - delete mMessageBuilder; + delete mTemplateMessageBuilder; + mTemplateMessageBuilder = NULL; mMessageBuilder = NULL; + delete mLLSDMessageReader; + mLLSDMessageReader = NULL; + delete mPollInfop; mPollInfop = NULL; |