Public Comment Number PC-UK0283 ISO/IEC CD2 9899 (SC22N2794) Public Comment =========================================== Date: 1998-12-13 Author: C.D.W.Feather Author Affiliation: Self Postal Address: Demon Internet Ltd. 322 Regents Park Road London N3 2QQ United Kingdom E-mail Address: Telephone Number: +44 181 371 1138 Fax Number: +44 181 371 1037 Category: Feature that should be included Committee Draft subsection: 7.14.1.1, 7.20.4 Title: _Exit function Detailed description: As part of a working paper (N789), I suggested that C provide an _exit() function like that in POSIX, and signal handlers should be allowed to call this function. The Menlo Park meeting agreed to add this function unless an unresolvable technical issue was found that would make it not conformant to POSIX. The Santa Cruz meeting decided not to include this function because they felt that there was a possibility of conflict with POSIX. The functionality is still needed, as without it there is no safe way to leave a signal handler, and so it is being resubmitted with a new name in the implementer's namespace. In 7.14.1.1p5, change: or the signal handler calls any function in the standard library other than the /abort/ function or the /signal/ function to: or the signal handler calls any function in the standard library other than the /abort/ function, the /_Exit/ function, or the /signal/ function Add a new subclause within 7.20.4: 7.20.4.X The _Exit function Synopsis #include void _Exit (int status); Description The /_Exit/ function causes normal program termination to occur, and control to be returned to the host environment. No functions registered by the /atexit/ function or signal handlers registered by the /signal/ function are called. The /_Exit/ function never returns to the caller. The status returned to the implementation is determined in the same manner as for the /exit/ function. It is implementation- defined whether open output streams are flushed, open streams closed, or temporary files removed.