[omniORB] Getting in trouble with threads.

Sai-Lai Lo S.Lo@orl.co.uk
13 Jul 1998 15:59:27 +0100


Henrik,

> 1. Before starting up the ORB, BOA etc some other object initialisations
> are performed and a separate thread is started up, that is in fact not
> using omnithread, but pthreads, which is obviously behind the omnithread
> on Solaris.

When you say "some other object initialisations", I hope you don't mean
some CORBA object reference initialisation! One should *always* call
CORBA::ORB_init() before initialising any CORBA object
references. Otherwise, the result is unpredictable.

Just try this:

0. Call CORBA::ORB_init(), and then

> 1. Before starting up the ORB, BOA etc some other object initialisations
> are performed and a separate thread is started up, that is in fact not
> using omnithread, but pthreads, which is obviously behind the omnithread
> on Solaris.
> 2. Init ORB, BOA ...
> 3. Binding of CORBA-fied server object to context.
> 4. Starting up all CORBA related services, ... last
> boa->impl_is_ready().
> 5. Starting up a separate client using nameservice to connect to server
> object.
> 6. Call on client of server based object member, but the call is not
> performed on server's object member.
> 

Tell me if this works.

Sai-Lai

-- 
Dr. Sai-Lai Lo                          |       Research Scientist
                                        |
E-mail:         S.Lo@orl.co.uk          |       Olivetti & Oracle Research Lab
                                        |       24a Trumpington Street
Tel:            +44 223 343000          |       Cambridge CB2 1QA
Fax:            +44 223 313542          |       ENGLAND