Static destructors not running

William M. (Mike) Miller william.m.miller@gmail.com
Tue May 10 13:45:00 GMT 2005


On 5/9/05, Dave Korn <dave.korn@artimi.com> wrote:
> ----Original Message----
> >From: William M. (Mike) Miller
> > The output "In dtor." is missing.
> 
>  That's because stdout is already closed by the time your dtor runs.  I
> stepped right into it, it does the printf call but somewhere down in the dll
> it checks the flags field in the stdout FILE object for read/write and finds
> it's not open for either, so it's at eof.  Grep 'cantwrite' if you really
> want to find it.
> 
>  Anyway, your dtor is called.

You're absolutely right -- the destructor is being called.  I should
have checked that myself, rather than assuming that the absence
of its output meant that it was not being executed.  Thanks for
investigating.

I'm still left with the problem of figuring out what changed to cause
this result.  Until I ran the "setup" application last Friday, I was
seeing output from static destructors, and now I don't.  It would
save me a lot of work to be able to restore the old behavior, but I
don't know what was responsible for this change.

-- 
William M. (Mike) Miller | Edison Design Group
william.m.miller@gmail.com

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/



More information about the Cygwin mailing list