From mboxrd@z Thu Jan 1 00:00:00 1970 From: Joe Buck To: law@cygnus.com Cc: robertl@dgii.com, acs@acm.org, egcs@cygnus.com, gcc2@cygnus.com, rr@sco.com Subject: Re: egcs 10-31 and UnixWare Date: Sun, 09 Nov 1997 18:35:00 -0000 Message-id: <199711100056.QAA19136@atrus.synopsys.com> References: <14350.879120281@hurl.cygnus.com> X-SW-Source: 1997-11/msg00337.html > Anyone know what's supposed to happen if, while running global dtors > a dtor itself calls exit, which starts the process of runing global > dtors again.... I've read the relevant part of CD2 [lib.support.start.term] and that isn't made clear: the description omits describing what happens on a recursive call. The other case where this kind of recursion occurs (a destructor that is called as part of exception processing throws an exception), the program is aborted by calling terminate(). Has the committee clarified this? I can think of two logical ways to proceed: call terminate(), or ignore the second exit() call.