diff options
| author | Richard@Callum-HP-PC.lindenlab.com <Richard@Callum-HP-PC.lindenlab.com> | 2011-10-21 14:41:24 -0700 |
|---|---|---|
| committer | Richard@Callum-HP-PC.lindenlab.com <Richard@Callum-HP-PC.lindenlab.com> | 2011-10-21 14:41:24 -0700 |
| commit | f5197b6158bf1b9350fab2dd7877f6c0a4c2f778 (patch) | |
| tree | ff9c621341b9076fff8a11b66befa6e37183f286 /indra/llmessage/message.cpp | |
| parent | f2952ded0396e98e1010ebe39de5bba0ae6ba5f7 (diff) | |
| parent | 255eebf11615a1a8c47003ee24b1696b8ae63e23 (diff) | |
merge with viewer-dev
Diffstat (limited to 'indra/llmessage/message.cpp')
| -rw-r--r-- | indra/llmessage/message.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/indra/llmessage/message.cpp b/indra/llmessage/message.cpp index 7d21e35f96..d0b0e178b8 100644 --- a/indra/llmessage/message.cpp +++ b/indra/llmessage/message.cpp @@ -97,10 +97,8 @@ std::string get_shared_secret(); class LLMessagePollInfo { public: - LLMessagePollInfo(void) : mPool(LLThread::tldata().mRootPool) { } apr_socket_t *mAPRSocketp; apr_pollfd_t mPollFD; - LLAPRPool mPool; }; namespace @@ -289,13 +287,20 @@ LLMessageSystem::LLMessageSystem(const std::string& filename, U32 port, } // LL_DEBUGS("Messaging") << << "*** port: " << mPort << llendl; - mPollInfop = new LLMessagePollInfo; - + // + // Create the data structure that we can poll on + // + if (!gAPRPoolp) + { + LL_ERRS("Messaging") << "No APR pool before message system initialization!" << llendl; + ll_init_apr(); + } apr_socket_t *aprSocketp = NULL; - apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, mPollInfop->mPool()); + apr_os_sock_put(&aprSocketp, (apr_os_sock_t*)&mSocket, gAPRPoolp); + mPollInfop = new LLMessagePollInfo; mPollInfop->mAPRSocketp = aprSocketp; - mPollInfop->mPollFD.p = mPollInfop->mPool(); + mPollInfop->mPollFD.p = gAPRPoolp; mPollInfop->mPollFD.desc_type = APR_POLL_SOCKET; mPollInfop->mPollFD.reqevents = APR_POLLIN; mPollInfop->mPollFD.rtnevents = 0; |
