[omniORB] Hanging during boa->destroy()

Gerke, Tom Tom.Gerke@Dialogic.com
Tue, 28 Nov 2000 18:54:28 -0500


Hello,

I'm using OmniORB 2.8.0 on Win NT 4.0 (with MSVC++ 5.0).

I have a number of co-located CORBA servers which my application is using.
When I shutdown my app, I _dispose() of each server which I had previously
registered with my BOA.  (I looked to see that all their destructors got
called, so it's not that I have outstanding references to them...)  Then I
call boa->impl_shutdown() and then boa->destroy().  This boa->destroy() call
hangs up for about 3 minutes before exiting.  No exception is thrown, and
when it comes out, my application proceeds to exit normally.

I've narrowed it down to *where* I'm waiting, but I have no idea why...

It's stuck in a call to tcpSocketMTincomingFactory::removeIncoming(), when
the pd_shutdown_cond object (of type omniCondition) calls wait...   It's the
"WaitForSingleObject(xxx, INIFINITE);" call inside of omniCondition::wait()
which is keeping me held up for those minutes.

Any idea what this means?  Maybe then I can attempt to tidy up whatever
loose ends I've left dangling...

Tom