diff options
author | Jörg Budischewski <jbu@openoffice.org> | 2001-03-16 12:30:15 +0000 |
---|---|---|
committer | Jörg Budischewski <jbu@openoffice.org> | 2001-03-16 12:30:15 +0000 |
commit | 69a2a2edab8667d85e5139da9b828f9687045a9f (patch) | |
tree | a68f923f5695e385aad1d17e35eaae821254ca48 /bridges | |
parent | cb08bfdd90f6ef8c783fbe8117c92244137abbf9 (diff) |
releases are now executed,before the reply for release is marshaled (force synchronous case).
Diffstat (limited to 'bridges')
-rw-r--r-- | bridges/source/remote/urp/urp_job.cxx | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/bridges/source/remote/urp/urp_job.cxx b/bridges/source/remote/urp/urp_job.cxx index c2895894ce2c..92ae096db316 100644 --- a/bridges/source/remote/urp/urp_job.cxx +++ b/bridges/source/remote/urp/urp_job.cxx @@ -2,9 +2,9 @@ * * $RCSfile: urp_job.cxx,v $ * - * $Revision: 1.4 $ + * $Revision: 1.5 $ * - * last change: $Author: jbu $ $Date: 2000-11-28 14:42:38 $ + * last change: $Author: jbu $ $Date: 2001-03-16 13:30:15 $ * * The Contents of this file are made available subject to the terms of * either of the following licenses @@ -525,6 +525,16 @@ namespace bridges_urp &(pSJE->m_pException) ); } } + if( pSJE->m_pRemoteI ) + { + /** + Do the release here, in case of ForceSynchronous=1, calls + originated by the destructor of an UNO object must be sent BEFORE the + release returns ( otherwise we don't own the thread anymore ! ) + */ + pSJE->m_pRemoteI->release( pSJE->m_pRemoteI ); + pSJE->m_pRemoteI = 0; + } // now destruct parameters and marshal replies // Note : when call is synchron => m_nCalls == 1 @@ -645,12 +655,6 @@ namespace bridges_urp } #endif - if( pSJE->m_pRemoteI ) - { - pSJE->m_pRemoteI->release( pSJE->m_pRemoteI ); - pSJE->m_pRemoteI = 0; - } - m_pBridgeImpl->m_nMarshaledMessages ++; // put it on the wire m_pBridgeImpl->m_pWriter->touch( sal_True ); |