ON_EXIT(3) | Руководство программиста Linux | ON_EXIT(3) |
on_exit - регистрирует функцию для вызова в случае нормального завершения процесса
#include <stdlib.h>
int on_exit(void (*function)(int , void *), void *arg);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
on_exit(): начиная с glibc 2.19: _DEFAULT_SOURCE в glibc 2.19 и старее: _BSD_SOURCE || _SVID_SOURCE
Функция on_exit() регистрирует указанную function для вызова в случае нормального завершения процесса с помощью exit(3) или при выходе из функции main(). Функции function передаётся аргумент состояния, указанный в последнем вызове exit(3), а также аргумент arg из on_exit().
Одна функция может быть зарегистрирована несколько раз: она вызывается один раз для каждой регистрации.
Когда дочерний процесс создаётся через fork(2), он наследует копии регистраций родителя. При успешном выполнении одной из функций exec(3) все регистрации снимаются.
Функция on_exit() при успешном выполнении возвращает 0, в противном случае — ненулевое значение.
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение |
on_exit() | Безвредность в нитях | MT-Safe |
Эта функция впервые появилась в SunOS 4, но также она присутствует в glibc. В Solaris (SunOS 5) её уже нет. Избегайте этой функции и используйте вместо нее стандартную atexit(3).
2017-09-15 | GNU |