This is the mail archive of the cygwin-apps@cygwin.com 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: SetupXP


Robert Collins wrote:
> On Sat, 2003-07-19 at 11:32, Gary R. Van Sickle wrote:
>
>>> Wait! The status quo must remain, until we have confirmed evidence that
>>> static destructors do always run on exit from -mno-cygwin programs.
>>
>> As Rob said, he's said that too.  What am I missing?  Neither of
LogFile's
>> nor LogSingleton's destructors do anything, and this change doesn't
remove
>> the "theLog->exit (0);" at the end of main() (the only place its' called
>> with 0), so... where's the connection?
>
> Well, there are two things.
> We used to call ExitProcess(), which (obviously) didn't call
> destructors.

Actually... preliminary tests seem to show that destructors are called on
ExitProcess for MinGW programs (but not for Cygwin programs). Must be some
MSVCRT magic.

> Secondly, the destructors do nothing because they where not (and we
> haven't tested conclusively if they are nnow) called when ::exit() is
> invoked. The functionality in LogFile::exit() for flushing the log file
> on exit is appropriate to be put in the destructor - flush on cygwin
> exit. We can't put that there until we are sure destructors execute.
>
> The goal long term is to be able to exit() without worrying about the
> log (or any other related caching logic).
>
> Does that clear up the connection?
>
> Rob


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