Си. Функция exit не закрывает стандартные потоки?
Вот часть вывода ltrace для утилиты (cut).
ltrace -fw10 cut -f1 <(echo)
[pid 3610] fclose() = 0
rpl_fclose (ip)
close_stream (ip)
close_stdout (ip)
__run_exit_handlers (ip)
exit (ip)
__libc_start_call_main (ip)
__libc_start_main (ip)
_start (ip)
[pid 3610] +++ exited (status 0) +++
В данном случае потоки закрывает функция close_stdout. Которая была зарегистрирована с помощью atexit в теле функции main утилиты cut. Вопрос: Означает ли это что функция exit стандартной библиотеки не закрывает потоки? Если закрывает тогда просьба показать фрагмент кода, где это происходит. Если не закрывает тогда почему в документации man 3 exit указано обратное? Трассировка простейшей тестовой программы показывает что закрытие потоков вообще не происходит.