on_exit(3)

NUME
on_exit - înregistrează o funcție care să fie apelată la terminarea normală a procesului

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdlib.h>

int on_exit(void (*function)(int, void *), void *arg);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

on_exit():
    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 și versiunile anterioare:
        _BSD_SOURCE || _SVID_SOURCE

DESCRIERE
Funcția on_exit() înregistrează function dată pentru a fi apelată la terminarea normală a procesului, fie prin exit(3), fie prin întoarcerea de la main() a programului. function primește argumentul de stare dat la ultimul apel la exit(3) și argumentul arg de la on_exit().

Aceeași funcție poate fi înregistrată de mai multe ori: aceasta este apelată o singură dată pentru fiecare înregistrare.

Atunci când un proces-copil este creat prin fork(2), acesta moștenește procesele-copil ale înregistrărilor părintelui său. La un apel reușit la una dintre funcțiile exec(3), toate înregistrările sunt eliminate.

VALOAREA RETURNATĂ
Funcția on_exit() returnează valoarea 0 în caz de succes; în caz contrar, returnează o valoare diferită de zero.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
on_exit() | Siguranța firelor | MT-Safe

STANDARDE
Această funcție provine din SunOS 4, dar este prezentă și în glibc. Ea nu mai apare în Solaris (SunOS 5). Aplicațiile portabile ar trebui să evite această funcție și să utilizeze în schimb funcția standard atexit(3).

NOTE
În momentul în care function este executată, este posibil ca variabilele din stivă (auto) să fi ieșit deja din domeniul de aplicare. Prin urmare, arg nu ar trebui să fie un indicator la o variabilă din stivă; acesta poate fi totuși un indicator la o variabilă din grămadă sau la o variabilă globală.

CONSULTAȚI ȘI
_exit(2), atexit(3), exit(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost creată de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă Nicio RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.