11-08-2014, 07:30 AM
It was a conscious decision not to include _Exit in this rule. _Exit() differs from exit() in that no atexit-registered handlers are called prior to program termination. This means that the undefined behaviour that can occur with exit() isn't possible with _Exit().
The implementation-defined behaviour remains a possibility (e.g. the status code returned to the environment, whether temporary files are deleted or not, whether streams are flushed and/or closed) but this was considered not to be a strong enough reason to ban _Exit().
The implementation-defined behaviour remains a possibility (e.g. the status code returned to the environment, whether temporary files are deleted or not, whether streams are flushed and/or closed) but this was considered not to be a strong enough reason to ban _Exit().
Posted by and on behalf of the MISRA C Working Group