This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Static destructors not running


On 5/10/05, Christopher Faylor <cgf-no-personal-reply-please@cygwin.com> wrote:
> On Tue, May 10, 2005 at 11:54:45AM -0400, William M. (Mike) Miller wrote:
> >Yes, the output does appear when I call exit instead of returning
> >from main().  Unfortunately, that's not an option.  For one thing,
> >this is shared code that works just fine on other systems (and
> >under Cygwin until I updated last Friday).  For another, the
> >semantics of calling exit in main() are not exactly the same as
> >returning from main() -- local automatic objects in main() are not
> >destroyed by the exit() call, which is something some of this
> >code that is now failing relies on.
> 
> I was trying to figure out the problem, not suggest that you should
> change all of your code.

Sorry, my misunderstanding.

> Previous to 1.5.16, static destructors were always called via a
> gcc "atexit" mechanism.  This meant that there were scenarios where
> destructors would not be called at all so I made cygwin's exit call
> the destructors explicitly.   I just forgot to make cygwin do the right
> thing when returning from main rather than exiting.  This will be
> fixed in the next snapshot.

Great!  Thanks very much.

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]