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


> 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.
> 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?

Not really, because my change isn't doing anything whatsoever to the file flush
logic.  LogFile::exit() still gets called everywhere it did before.

--
Gary R. Van Sickle
Brewer.  Patriot.


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