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
namespace Details
{
class LLEventPollImpl
class LLEventPollImpl: public boost::enable_shared_from_this<LLEventPollImpl>
{
public:
LLEventPollImpl(const LLHost &sender);
......@@ -113,7 +113,7 @@ namespace Details
{
std::string coroname =
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;
}
}
......@@ -273,8 +273,7 @@ namespace Details
LLEventPoll::LLEventPoll(const std::string& poll_url, const LLHost& sender):
mImpl()
{
mImpl = boost::unique_ptr<LLEventPolling::Details::LLEventPollImpl>
(new LLEventPolling::Details::LLEventPollImpl(sender));
mImpl = boost::shared_ptr<LLEventPolling::Details::LLEventPollImpl>(new LLEventPolling::Details::LLEventPollImpl(sender));
mImpl->start(poll_url);
}
......
......@@ -57,7 +57,7 @@ class LLEventPoll
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.
Finish editing this message first!
Please register or to comment