On 12/13/09 16:33, Huaidong Qiu wrote:
We implemented a java DispatchProviderInterceptor which registered to frame, but we found some time bridge remote call (from C++ to java) cause cpp2uno reentry such as bridges_remote::dispatchRemote2UnoProxy().

I don't think dispatchRemote2UnoProxy support reentry, because UNO Remote Protocol Specification does not allow this:

When sending a synchronous request message with the TID of a UNO thread h, the sending side will not execute any computation steps in thread h (especially, it will not send any further request or reply messages with the given TID), until it receives back the corresponding reply message.

No, this reasoning is not correct. If the receiving side (B) of the request synchronously calls back to the (originally) sending side (A), A can also recursively make a second, nested synchronous call to B.

My question are:

1 How to accelerate calls from C++ to java when using java DispatchProviderInterceptor? Or we made some mistakes?
2 Is there a way to avoid this reentry?

Please check out the dump file attached.

(Please note that any kind of attachment is routinely stripped from the OOo mailing lists.)

-Stephan

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@framework.openoffice.org
For additional commands, e-mail: dev-h...@framework.openoffice.org

Reply via email to