> Hum, POSIX (2004) is not so strict:
> "Whether open streams are flushed or closed, or temporary files are
> removed is implementation-defined."
> http://pubs.opengroup.org/onlinepubs/009695399/functions/exit.html
You're looking at the wrong section:
"The exit() function shall then flush all open streams with unwritten
buffered data, close all open streams"
Then a couple lines below:
"The _Exit() [CX] and _exit() functions shall not call functions
registered with atexit() nor any registered signal handlers. Whether
open streams are flushed or closed, or temporary files are removed is
implementation-defined."
It's guaranteed for exit(), not _Exit()/_exit(). |