I've been trying to debug this issue a little, and am looking for some
information (from Steve and Andrew in particular).
One issue appears to be that the IO threads are terminated by the c++
runtime *before* the IOThread destructor is called. This termination is
abrupt and they do not get a chance to finish processing any outstanding
completions (meaning they never call the close callback on the dispatch
handle which prevents the Connector+ConnectionImpl code from cleaning
itself up correctly).
I would have expected that all destructors for global and static objects
would be called before terminating threads. Does anyone have any insight
into the way this works on windows? Is the fact that the IOThread static
is in a dynamic library relevant here?
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]