Kaydet (Commit) 065f6033 authored tarafından Michael Meeks's avatar Michael Meeks

unipoll: do the legacy wakeup if not in unipoll mode.

Change-Id: I7f5663f3316eb2bafcf13d07e2af69ae6f0637f5
Reviewed-on: https://gerrit.libreoffice.org/71445Reviewed-by: 's avatarAshod Nakashian <ashnakash@gmail.com>
Tested-by: Jenkins
üst 0c500d3b
......@@ -374,9 +374,23 @@ sal_uInt32 SvpSalYieldMutex::doRelease(bool const bUnlockAll)
// read m_nCount before doRelease
bool const isReleased(bUnlockAll || m_nCount == 1);
nCount = comphelper::SolarMutex::doRelease( bUnlockAll );
if (isReleased && pInst)
if (isReleased)
{
ImplSVData* pSVData = ImplGetSVData();
if (pSVData->mpPollCallback) // is unipoll
{
if (pInst)
pInst->Wakeup(SvpRequest::NONE);
}
else
{
std::unique_lock<std::mutex> g(m_WakeUpMainMutex);
m_wakeUpMain = true;
m_WakeUpMainCond.notify_one();
}
}
}
return nCount;
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment