Re: deadlock problem



Hello,

On Sat, 2002-02-09 at 22:40, 50191914@ee.cityu.edu.hk wrote:
> Consider the following IDL:
> 
> interface Foo
> {
>     void Bar(in Baz);
> };
> 
> interface Baz
> {
>     void A();
> }
> 
> when a Process which implement Object A with interface  Baz invoke Foo::Bar on
> another process which implement the Object B with interface Foo and try
> to invoke Baz::A during the execution of Foo::Bar , will Object A try
> to wait for the return of Foo::Bar forever without serving the request
> from Object B and cause a deadlock ?

	No; while one process is waiting for the return value of it's method,
any incoming calls are processed - thus while we do not have threading,
we have re-enterancy which avoids this situation.

	It's worth noting that if you use bonobo you need to call
bonobo_activation before incoming CORBA method calls are processed
however.

	Regards,

		Michael.

-- 
 mmeeks@gnu.org  <><, Pseudo Engineer, itinerant idiot




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]