Antw: [omniORB] Problem with ORB shutdown on Windows 95

Sai-Lai Lo S.Lo@uk.research.att.com
09 Jul 1999 14:18:47 +0100


OK this is another data point. So NT+COM+MFC is another combination that
the global dtor doesn't cause the shutdown to happen properly.

I suspect this is again some bad internal MFC thread interactions that we
don't quite understand.

I suggest you use the omniORB::idleConnectionScanPeriod workaround until
we have a MFC based omnithread library or an explicit ORB shutdown call.

Sai-Lai

>>>>> Andi Kessler writes:

> I have a similar Problem with Windows NT: I use omniORB within a COM
> Object which is loaded by Excel. Presumably Excel is an MFC application.
> The problem is that the Excel process cannot terminate!  It unloads the
> dll in which resides my COMServer, and the OutScavengerThreadKiller calls
> its destructor.  The outScavenger_t thread then calls _endthreadex(0);
> and the OutScavengerThreadKiller dtor calls WaitForSingleObject and both
> hang indefinitely.  Any ideas why? I am using OmniORB 2.7.1 on Windows NT
> 4.0 with VC++6.0 sp3.  If I call
> omniORB::idleConnectionScanPeriod(omniORB::idleOutgoing,0) as you
> indicated, the process terminates without problems.

-- 
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