Re: Orb choosing time (was Re: Adding other languages to omniorb)



Philip> - When a corba application calls boa->impl_is_ready() it blocks
Philip> 	(waiting to serve messages from other corba objects).
Philip> - When a gtk application calls gtk_main_loop() it blocks 
Philip> 	(waiting to serve events from X).

Philip> Therefore we can't have a interactive corba-enabled gtk
Philip> application in a single process without threads.

Sorry, but your analysis is flawed.

A CORBA implementation doesn't need to use threads.  Instead it can be
written to integrate with whatever main loop already exists.  In a
case like this, boa->impl_is_ready() runs the event loop, waiting for
a response -- but also dispatching events on other file handles.
Also, gtk_main_loop() is the event loop, so it doesn't block in the
sense that you mean.

This is the approach ILU takes.  I don't see why any ORB couldn't take
this approach.

Threads are not required.

Tom



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