[omniORB] issues with multiple orbs in a server gui app

Duncan Grisby duncan at grisby.org
Wed Jan 18 15:53:20 GMT 2006


On Wednesday 18 January, Jason Dolan wrote:

[...]
> > The CORBA standard does not require ORB_init to return a newly
> > created
> > ORB. In fact most implementations will always return only one. Thus, if
> > you shutdown that single ORB, the other threads/windows can't access it
> > anymore.
> >
> Ok, that clears some things up.  That makes me confused about a few
> other things however...
> 
> How is it I can run m_pORB->run() for each window if in fact there is
> just one orb?  What is really happening when I call m_pORB->run() for
> each window?

Absolutely nothing. The thread from which you call run() just blocks
waiting for the ORB to be destroyed. Any number of threads can be
blocked in run(), but none of them will do anything.

omniORB always creates its own threads to handle incoming calls and do
all the other things the ORB needs to do. You do not need to call
ORB::run() at all. There is no "event loop" for you to run.

Perhaps it would be helpful for you to explain what it is your
application is doing, and why you want to have a separate CORBA event
loop for each window you have open.

Cheers,

Duncan.

-- 
 -- Duncan Grisby         --
  -- duncan at grisby.org     --
   -- http://www.grisby.org --



More information about the omniORB-list mailing list