aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/llmessage/message.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--linden/indra/llmessage/message.cpp17
1 files changed, 6 insertions, 11 deletions
diff --git a/linden/indra/llmessage/message.cpp b/linden/indra/llmessage/message.cpp
index 7e8aff1..53036bc 100644
--- a/linden/indra/llmessage/message.cpp
+++ b/linden/indra/llmessage/message.cpp
@@ -103,8 +103,10 @@ std::string get_shared_secret();
103class LLMessagePollInfo 103class LLMessagePollInfo
104{ 104{
105public: 105public:
106 LLMessagePollInfo(void) : mPool(LLThread::tldata().mRootPool) { }
106 apr_socket_t *mAPRSocketp; 107 apr_socket_t *mAPRSocketp;
107 apr_pollfd_t mPollFD; 108 apr_pollfd_t mPollFD;
109 AIAPRPool mPool;
108}; 110};
109 111
110namespace 112namespace
@@ -291,20 +293,13 @@ LLMessageSystem::LLMessageSystem(const std::string& filename, U32 port,
291 } 293 }
292// LL_DEBUGS("Messaging") << << "*** port: " << mPort << llendl; 294// LL_DEBUGS("Messaging") << << "*** port: " << mPort << llendl;
293 295
294 // 296 mPollInfop = new LLMessagePollInfo;
295 // Create the data structure that we can poll on 297
296 //
297 if (!gAPRPoolp)
298 {
299 LL_ERRS("Messaging") << "No APR pool before message system initialization!" << llendl;
300 ll_init_apr();
301 }
302 apr_socket_t *aprSocketp = NULL; 298 apr_socket_t *aprSocketp = NULL;
303 apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, gAPRPoolp); 299 apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, mPollInfop->mPool());
304 300
305 mPollInfop = new LLMessagePollInfo;
306 mPollInfop->mAPRSocketp = aprSocketp; 301 mPollInfop->mAPRSocketp = aprSocketp;
307 mPollInfop->mPollFD.p = gAPRPoolp; 302 mPollInfop->mPollFD.p = mPollInfop->mPool();
308 mPollInfop->mPollFD.desc_type = APR_POLL_SOCKET; 303 mPollInfop->mPollFD.desc_type = APR_POLL_SOCKET;
309 mPollInfop->mPollFD.reqevents = APR_POLLIN; 304 mPollInfop->mPollFD.reqevents = APR_POLLIN;
310 mPollInfop->mPollFD.rtnevents = 0; 305 mPollInfop->mPollFD.rtnevents = 0;