[erlang-questions] Re-entrant CORBA services

Jani Hakala <>
Mon Sep 13 11:11:34 CEST 2010


Geoffrey Biggs <> writes:

> Unfortunately, one of the calls to object B requires its own calls back
> to object A to finish (whether or not it succeeds). This means that
> object B blocks waiting for object A to respond, while object A is
> blocked waiting for object B to respond.
>
How about dividing this call from object A to object B to two calls
to object B? First one would return at that point where B now calls A
and the second call would give the object B the results of the
call. Any parameters required by object A could be passed as the
result from the first call.

AMI/AMH [1] might provide another solution if they are available. Or
perhaps multiple servants for object A. 

I prefer to avoid two-way calls with CORBA as much as possible. I
once tried those with C++ and ACE/TAO, and it seemed to be too much
trouble. I didn't try AMI/AMH or multiple servants though as I was
just learning CORBA basics.

Jani Hakala

[1] asynchronous method invocation, asynchronous method handling.


More information about the erlang-questions mailing list