Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <48781a6605051010282d72cfa9@mail.gmail.com> Date: Tue, 10 May 2005 13:28:43 -0400 From: "William M. (Mike) Miller" Reply-To: "William M. (Mike) Miller" To: cygwin AT cygwin DOT com Subject: Re: Static destructors not running In-Reply-To: <20050510160904.GF15665@trixie.casa.cgf.cx> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Disposition: inline References: <48781a66050509154660edcc78 AT mail DOT gmail DOT com> <48781a6605051006066aa9b036 AT mail DOT gmail DOT com> <20050510153512 DOT GZ15665 AT trixie DOT casa DOT cgf DOT cx> <48781a66050510085450bd1339 AT mail DOT gmail DOT com> <20050510160904 DOT GF15665 AT trixie DOT casa DOT cgf DOT cx> X-IsSubscribed: yes Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by delorie.com id j4B0ZV86029635 On 5/10/05, Christopher Faylor 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 DOT m DOT miller AT gmail DOT 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/