[omniORB] omniInitializer

Renzo Tomaselli renzo.tomaselli@tecnotp.it
Tue, 17 Jul 2001 14:47:51 +0200


Thanks, Duncan.
To anyone interested: I actually found out that all threads disappear at
global destructor level only when the process is about to die, not when t=
he
containing dll is about to be unloaded while the process survives.
The former case can be detected by using a standard atexit() call to be
invoked at runtime (e.g. after all global constructors have run). When su=
ch
a situation is detected, do *not* shutdown the orb to avoid a deadlock.
If just the dll is being unloaded, orb->destroy seems working now.
Cheers,

Renzo
-----Original Message-----
From: Duncan Grisby <dgrisby@uk.research.att.com>
To: Omniorb list <omniorb-list@uk.research.att.com>
Date: marted=EC 17 luglio 2001 12:05
Subject: Re: [omniORB] omniInitializer


>You might find that installing an initializer helps, but I still don't
>think it's guaranteed to run after everything else has gone. The whole
>issue with Windows DLL unloading is a mess, and I'm not sure there is
>any easy solution.
>
>A solution is on the list of things to look at for omniORB 4, but
>we're not even sure it's possible, let alone sensible to attempt.
>
>Cheers,
>
>Duncan.