Skip to content
Snippets Groups Projects
Commit c1c9b3d7 authored by Rider Linden's avatar Rider Linden
Browse files

MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in...

MAINT-6565: Grab a shared pointer and encapsulate it into the bind call in place of this. Ensures that the impl is not deleted while the coroutine is active.
parent f868e299
No related branches found
No related tags found
No related merge requests found
...@@ -45,7 +45,7 @@ namespace LLEventPolling ...@@ -45,7 +45,7 @@ namespace LLEventPolling
namespace Details namespace Details
{ {
class LLEventPollImpl class LLEventPollImpl: public boost::enable_shared_from_this<LLEventPollImpl>
{ {
public: public:
LLEventPollImpl(const LLHost &sender); LLEventPollImpl(const LLHost &sender);
...@@ -113,7 +113,7 @@ namespace Details ...@@ -113,7 +113,7 @@ namespace Details
{ {
std::string coroname = std::string coroname =
LLCoros::instance().launch("LLEventPollImpl::eventPollCoro", LLCoros::instance().launch("LLEventPollImpl::eventPollCoro",
boost::bind(&LLEventPollImpl::eventPollCoro, this, url)); boost::bind(&LLEventPollImpl::eventPollCoro, this->shared_from_this(), url));
LL_INFOS("LLEventPollImpl") << coroname << " with url '" << url << LL_ENDL; LL_INFOS("LLEventPollImpl") << coroname << " with url '" << url << LL_ENDL;
} }
} }
...@@ -273,8 +273,7 @@ namespace Details ...@@ -273,8 +273,7 @@ namespace Details
LLEventPoll::LLEventPoll(const std::string& poll_url, const LLHost& sender): LLEventPoll::LLEventPoll(const std::string& poll_url, const LLHost& sender):
mImpl() mImpl()
{ {
mImpl = boost::unique_ptr<LLEventPolling::Details::LLEventPollImpl> mImpl = boost::shared_ptr<LLEventPolling::Details::LLEventPollImpl>(new LLEventPolling::Details::LLEventPollImpl(sender));
(new LLEventPolling::Details::LLEventPollImpl(sender));
mImpl->start(poll_url); mImpl->start(poll_url);
} }
......
...@@ -57,7 +57,7 @@ class LLEventPoll ...@@ -57,7 +57,7 @@ class LLEventPoll
private: private:
boost::unique_ptr<LLEventPolling::Details::LLEventPollImpl> mImpl; boost::shared_ptr<LLEventPolling::Details::LLEventPollImpl> mImpl;
}; };
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment