SafeThread: Avoid use-after-free risk in thread shutdown (#1355)

Use shared_ptr to keep data alive until the thread has terminated.
This commit is contained in:
Peter Johnson
2018-10-05 16:32:43 -07:00
committed by GitHub
parent 36000ddb36
commit 18c8cce6a7
8 changed files with 103 additions and 68 deletions

View File

@@ -865,10 +865,7 @@ void MjpegServerImpl::ServerThreadMain() {
}
// Start it if not already started
{
auto thr = it->GetThread();
if (!thr) it->Start(new ConnThread{GetName()});
}
it->Start(GetName());
auto nstreams =
std::count_if(m_connThreads.begin(), m_connThreads.end(),