[Libreoffice-commits] core.git: sfx2/source

Michael Stahl mstahl at redhat.com
Wed Apr 6 14:58:54 UTC 2016


 sfx2/source/view/viewfrm2.cxx |    1 -
 1 file changed, 1 deletion(-)

New commits:
commit 22fbbfe984f5da2592674f9260f5e4988b1341fe
Author: Michael Stahl <mstahl at redhat.com>
Date:   Wed Apr 6 16:48:00 2016 +0200

    Revert "Avoid deadlock when two threads call into Frame::close"
    
    This reverts commit d2a59bb53ab6c6a364538bdc6928420d8cf72ba0.
    
    Ironically causes a different deadlock, with a non-main thread holding
    SolarMutex and blocked in SendMessage, and main thread dropping
    SolarMutex now and blocking with SalYieldMutex::acquire() instead of
    ImplSalYieldMutexAcquireWithWait().
    
    vcllo.dll!SalYieldMutex::acquire() Line 139
    vcllo.dll!SolarMutexGuard::SolarMutexGuard() Line 1477
    tklo.dll!VCLXWindow::removeFocusListener(const com::sun::star::uno::Reference<com::sun::star::awt::XFocusListener> & rxListener) Line 1066
    fwklo.dll!`anonymous namespace'::Frame::implts_stopWindowListening() Line 3042
    fwklo.dll!`anonymous namespace'::Frame::setComponent(const com::sun::star::uno::Reference<com::sun::star::awt::XWindow> & xComponentWindow, const com::sun::star::uno::Reference<com::sun::star::frame::XController> & xController) Line 1508
    fwklo.dll!`anonymous namespace'::Frame::close(unsigned char bDeliverOwnership) Line 1770
    sfxlo.dll!SfxViewFrame::Exec_Impl(SfxRequest & rReq) Line 261
    sfxlo.dll!SfxStubSfxViewFrameExec_Impl(SfxShell * pShell, SfxRequest & rReq) Line 706
    sfxlo.dll!SfxShell::CallExec(void (SfxShell *, SfxRequest &) * pFunc, SfxRequest & rReq) Line 204
    sfxlo.dll!SfxDispatcher::Call_Impl(SfxShell & rShell, const SfxSlot & rSlot, SfxRequest & rReq, bool bRecord) Line 265
    sfxlo.dll!SfxDispatcher::PostMsgHandler(SfxRequest * pReq) Line 1088
    sfxlo.dll!SfxDispatcher::LinkStubPostMsgHandler(void * instance, SfxRequest * data) Line 1065
    sfxlo.dll!Link<SfxRequest *,void>::Call(SfxRequest * data) Line 84
    sfxlo.dll!SfxHintPoster::DoEvent_Impl(void * pPostedHint) Line 45
    sfxlo.dll!SfxHintPoster::LinkStubDoEvent_Impl(void * instance, void * data) Line 42
    vcllo.dll!Link<void *,void>::Call(void * data) Line 84
    vcllo.dll!ImplHandleUserEvent(ImplSVEvent * pSVEvent) Line 1959
    vcllo.dll!ImplWindowFrameProc(vcl::Window * _pWindow, unsigned short nEvent, const void * pEvent) Line 2524
    vcllo.dll!SalFrame::CallCallback(unsigned short nEvent, const void * pEvent) Line 273
    vcllo.dll!ImplHandleUserEvent(HWND__ * hWnd, long lParam) Line 4111
    vcllo.dll!SalFrameWndProc(HWND__ * hWnd, unsigned int nMsg, unsigned int wParam, long lParam, int & rDef) Line 5767
    
    Change-Id: Iba97daf9cc90028c3b0ef693f928affa32bf5a0e

diff --git a/sfx2/source/view/viewfrm2.cxx b/sfx2/source/view/viewfrm2.cxx
index cb0be79..bddaede 100644
--- a/sfx2/source/view/viewfrm2.cxx
+++ b/sfx2/source/view/viewfrm2.cxx
@@ -255,7 +255,6 @@ void SfxViewFrame::Exec_Impl(SfxRequest &rReq )
                         pDocSh->SetModified( false );
                     rReq.Done(); // Must call this before Close()!
                     bClosed = false;
-                    SolarMutexReleaser rel;
                     try
                     {
                         xTask->close(sal_True);


More information about the Libreoffice-commits mailing list