vcl/unx/generic/printer/ppdparser.cxx |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

New commits:
commit 2614ca783d3fa181a8a3a00c38103abc54cac56c
Author:     Caolán McNamara <caol...@redhat.com>
AuthorDate: Sat Jun 5 15:57:48 2021 +0100
Commit:     Caolán McNamara <caol...@redhat.com>
CommitDate: Sat Jun 5 18:54:17 2021 +0200

    psp::PPDParser::getParser deadlock on launch
    
     #3  0x00007fef4e844945 in std::mutex::lock() (this=0x7fef4f817640 
<psp::PPDParser::getParser(rtl::OUString const&)::aMutex>)
     #4  0x00007fef4eb2da43 in 
std::lock_guard<std::mutex>::lock_guard(std::mutex&) (this=0x7ffc2f47a2a0, 
__m=...)
     #5  0x00007fef4eb1dd12 in psp::PPDParser::getParser(rtl::OUString const&) 
(rFile="SGENPRT") at vcl/unx/generic/printer/ppdparser.cxx:535
         ^^^second reentry^^^
     #6  0x00007fef4eb76f3b in psp::CUPSManager::createCUPSParser(rtl::OUString 
const&) (this=0x329c0e0, rPrinter="CUPS:MP230-series") at 
vcl/unx/generic/printer/cupsmgr.cxx:533
     #7  0x00007fef4eb1e4fa in psp::PPDParser::getParser(rtl::OUString const&) 
(rFile="CUPS:MP230-series") at vcl/unx/generic/printer/ppdparser.cxx:565
         ^^^first entry^^^
     #8  0x00007fef4eb7815d in 
psp::CUPSManager::setupJobContextData(psp::JobData&) (this=0x329c0e0, 
rData=...) at vcl/unx/generic/printer/cupsmgr.cxx:566
    
    since...
    
    commit 80255dcde14755bb4a342b7392fb26d27580ff6d
    Date:   Sun May 30 19:29:07 2021 +0200
    
        vcl unix : use std::thread in PPDParser::getParser
    
    Change-Id: I3c66e23568e388425de9ee07f2d7606f4df0cfd3
    Reviewed-on: https://gerrit.libreoffice.org/c/core/+/116750
    Tested-by: Caolán McNamara <caol...@redhat.com>
    Reviewed-by: Caolán McNamara <caol...@redhat.com>

diff --git a/vcl/unx/generic/printer/ppdparser.cxx 
b/vcl/unx/generic/printer/ppdparser.cxx
index ea03299ed7fb..8de73fa860b1 100644
--- a/vcl/unx/generic/printer/ppdparser.cxx
+++ b/vcl/unx/generic/printer/ppdparser.cxx
@@ -531,7 +531,7 @@ OUString PPDParser::getPPDFile( const OUString& rFile )
 
 const PPDParser* PPDParser::getParser( const OUString& rFile )
 {
-    static std::mutex aMutex;
+    static std::recursive_mutex aMutex;
     std::lock_guard aGuard( aMutex );
 
     OUString aFile = rFile;
_______________________________________________
Libreoffice-commits mailing list
libreoffice-comm...@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits

Reply via email to