On Thu, 2010-05-27 at 09:39 -0400, Alan Conway wrote:
> On 05/27/2010 04:35 AM, Gordon Sim wrote:
> > 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?
> >
> 
> I don't know if the standard guarantees to run static dtors before 
> terminating 
> threads. 

The current c++ standard says nothing about threads at all. The upcoming
C++ standard does say something about threading I don't know if it deals
with this issue.

Andrew



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to