dbaccess_macros_test: no orderly shutdown

Stephan Bergmann sbergman at redhat.com
Thu Feb 16 10:05:01 PST 2012


On 02/15/2012 08:12 PM, Stephan Bergmann wrote:
> * Thread 4 is executing a comphelper::AsyncEventNotifier. That class is
> mentioned only in a few places
> (dbaccess/source/core/dataaccess/documenteventnotifier.cxx,
> extensions/source/propctrl/browserlistbox.cxx, and
> forms/source/component/ListBox.{hxx,cxx}), so it looks reasonable to
> assume that this one got spawned from dbaccess's
> documenteventnotifier.cxx. And indeed, while the code there has a
> provision for terminating the spawned thread, it fails to join with it.
> So, here it might be enough to do
>
>> diff --git a/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
>> b/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
>> index 8d6b90d..24a46a2 100644
>> --- a/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
>> +++ b/dbaccess/source/core/dataaccess/documenteventnotifier.cxx
>> @@ -165,6 +165,7 @@ namespace dbaccess
>> {
>> m_pEventBroadcaster->removeEventsForProcessor( this );
>> m_pEventBroadcaster->terminate();
>> + m_pEventBroadcaster->join();
>> m_pEventBroadcaster = NULL;
>> }
>>
>
> -- unless that unearths any deadlocks.

Does not appear to generate deadlocks, at least not across a handful of 
"make check" builds, so pushed this part now as 
<http://cgit.freedesktop.org/libreoffice/core/commit/?id=81921bec4b81b7e3e87c24a6b4e3cfdd0cced47d> 
"Make sure spawned thread is joined again."

Stephan


More information about the LibreOffice mailing list