.: 14 commits - binaryurp/source comphelper/inc comphelper/Library_comphelp.mk comphelper/prj comphelper/source configmgr/source cui/Library_cui.mk cui/prj cui/source dbaccess/source desktop/Library_deploymentgui.mk desktop/Library_sofficeapp.mk desktop/prj desktop/source extensions/Library_pcr.mk extensions/prj extensions/source filter/Library_filterconfig.mk filter/Library_xsltfilter.mk filter/prj filter/source forms/Library_frm.mk forms/prj forms/source jvmfwk/plugins pyuno/prj pyuno/source salhelper/inc salhelper/Library_salhelper.mk salhelper/Package_inc.mk salhelper/source sal/inc sal/Package_inc.mk svtools/inc svtools/source ucb/source
Michael Stahl
mstahl at redhat.com
Thu Feb 23 05:56:54 PST 2012
hi Stephan,
On 23/02/12 10:48, Stephan Bergmann wrote:
> +void salhelper::Thread::launch() {
> + SAL_INFO("salhelper.thread", "launch " << name_);
> + // Assumption is that osl::Thread::create returns normally iff it causes
> + // osl::Thread::run to start executing:
looks like this assumption which you moved there is actually wrong
> + acquire();
> + try {
> + create();
> + } catch (...) {
> + release();
> + throw;
> + }
> sal_Bool SAL_CALL create()
> {
> assert(m_hThread == 0); // only one running thread per instance
> if (m_hThread)
> return sal_False;
>
> m_hThread = osl_createSuspendedThread( threadFunc, (void*)this);
> if ( m_hThread )
> osl_resumeThread(m_hThread);
>
> return m_hThread != 0;
> }
doesn't look like anything throws here, given those are C functions...
how about the attached patch?
More information about the LibreOffice
mailing list