[omniORB] OmniORB and threading

Sai-Lai Lo S.Lo@uk.research.att.com
19 Dec 2000 13:01:21 +0000


>>>>> David Hyde writes:

> I am mixing a process that contains another older, non CORBA, ORB with
> OmniORB.  It's not desirable, but for the moment it has to be this way.  I
> am finding that an OmniORB call that results in a call to the legacy ORB is
> hanging and I think that the reason is that the OmniORB call is entering on
> a new thread and the legacy ORB is not thread safe.  I can't do anything
> about this, and I can't marshal interface pointers the way that I would with
> COM.  Is there any way that I can get OmniORB to make the call on the
> process' original thread?

Best to do it yourself by implementing a command queue through which the
main thread and omniORB upcalls (which are called by internal omniORB
threads) communicate.

The main thread calls into your legacy code. The server threads block until
a reply is received.

Regards,

Sai-Lai

-- 
Sai-Lai Lo                                   S.Lo@uk.research.att.com
AT&T Laboratories Cambridge           WWW:   http://www.uk.research.att.com 
24a Trumpington Street                Tel:   +44 1223 343000
Cambridge CB2 1QA                     Fax:   +44 1223 313542
ENGLAND