[Libreoffice-commits] core.git: Branch 'libreoffice-6-1' - cui/source

Miklos Vajna vmiklos at collabora.co.uk
Thu Jun 28 15:13:40 UTC 2018


 cui/source/options/personalization.cxx |    6 ++++++
 1 file changed, 6 insertions(+)

New commits:
commit ea08ffc92d84e944a143902f9cd280370986a781
Author: Miklos Vajna <vmiklos at collabora.co.uk>
Date:   Thu Jun 28 11:43:35 2018 +0200

    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.
    
    (cherry picked from commit f4c73f90da2a2c31f0d29572180aa97e10c3dbad)
    
    Change-Id: I494c123a6225da60407391771622208c055ae49b
    Reviewed-on: https://gerrit.libreoffice.org/56593
    Tested-by: Jenkins
    Reviewed-by: Miklos Vajna <vmiklos at collabora.co.uk>

diff --git a/cui/source/options/personalization.cxx b/cui/source/options/personalization.cxx
index 7b4cf6807170..216bc6e8e935 100644
--- a/cui/source/options/personalization.cxx
+++ b/cui/source/options/personalization.cxx
@@ -99,7 +99,13 @@ SelectPersonaDialog::~SelectPersonaDialog()
 void SelectPersonaDialog::dispose()
 {
     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_pEdit.clear();
     m_pSearchButton.clear();


More information about the Libreoffice-commits mailing list