MISRA Discussion Forums

Full Version: A question for Rule21.8
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

I have a question about rule 21.8.

_Exit Function that were added in C99 also has implementation-defined behavior.

Is this not included?

Best regards,
Kazuhiro Tsukushiro
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().