Mail Archives: cygwin/2005/05/10/20:53:21
On Tue, May 10, 2005 at 11:54:45AM -0400, William M. (Mike) Miller wrote:
>On 5/10/05, Christopher Faylor <cgf-no-personal-reply-please AT cygwin DOT com> wrote:
>> On Tue, May 10, 2005 at 09:06:36AM -0400, William M. (Mike) Miller wrote:
>> >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.
>>
>> Just as a wild guess, does explicitly calling exit help at all?
>
>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.
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.
cgf
--
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/
- Raw text -