tdf#117866 cui personalization: fix a possible race
The case when the thread is re-scheduled exactly after checking for m_bExecute but before taking the solar mutex. Change-Id: I494c123a6225da60407391771622208c055ae49b Reviewed-on: https://gerrit.libreoffice.org/56585 Reviewed-by: Miklos Vajna <vmiklos@collabora.co.uk> Tested-by: Jenkins
This commit is contained in:
parent
0e0ceebc0d
commit
f4c73f90da
@ -99,7 +99,13 @@ SelectPersonaDialog::~SelectPersonaDialog()
|
|||||||
void SelectPersonaDialog::dispose()
|
void SelectPersonaDialog::dispose()
|
||||||
{
|
{
|
||||||
if (m_pSearchThread.is())
|
if (m_pSearchThread.is())
|
||||||
|
{
|
||||||
|
// Release the solar mutex, so the thread is not affected by the race
|
||||||
|
// when it's after the m_bExecute check but before taking the solar
|
||||||
|
// mutex.
|
||||||
|
SolarMutexReleaser aReleaser;
|
||||||
m_pSearchThread->join();
|
m_pSearchThread->join();
|
||||||
|
}
|
||||||
|
|
||||||
m_pEdit.clear();
|
m_pEdit.clear();
|
||||||
m_pSearchButton.clear();
|
m_pSearchButton.clear();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user