X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;ds=sidebyside;f=process.tex;h=d9b2c685414530ff82b8e98c59a2659e1b6fe1ca;hb=2414addb7861eb72315a3de58b6f2cb5c83ab6ed;hp=5e5fa6e55f8ff76ec56905945a01656994077e57;hpb=ed54132fb0762894a86b100023f9d04fc4028975;p=gapil.git diff --git a/process.tex b/process.tex index 5e5fa6e..d9b2c68 100644 --- a/process.tex +++ b/process.tex @@ -378,7 +378,7 @@ standard ANSI C, è quella che deve essere invocata per una terminazione La funzione è pensata per eseguire una conclusione pulita di un programma che usi la libreria standard del C; essa esegue tutte le funzioni che sono state registrate con \func{atexit} e \func{on\_exit} (vedi -sez.~\ref{sec:proc_atexit}), chiude tutti i \textit{file stream} (vedi +sez.~\ref{sec:proc_atexit}), chiude tutti gli \textit{stream} (vedi sez.~\ref{sec:file_stream}) effettuando il salvataggio dei dati sospesi (chiamando \func{fclose}, vedi sez.~\ref{sec:file_fopen}), infine passa il controllo al kernel chiamando la \textit{system call} \func{\_exit} (che @@ -442,8 +442,8 @@ concludendo immediatamente il processo, il suo prototipo è: La funzione termina immediatamente il processo e le eventuali funzioni registrate con \func{atexit} e \func{on\_exit} non vengono eseguite. La funzione chiude tutti i file descriptor appartenenti al processo, cosa che -però non comporta il salvataggio dei dati eventualmente presenti nei buffer di -\textit{file stream}, (torneremo sulle due interfacce dei file in +però non comporta il salvataggio dei dati eventualmente presenti nei buffer +degli \textit{stream}, (torneremo sulle due interfacce dei file in cap.~\ref{cha:files_std_interface} e cap.~\ref{cha:file_unix_interface})). Infine fa sì che ogni figlio del processo sia adottato da \cmd{init} (vedi sez.~\ref{sec:proc_termination}), @@ -524,11 +524,11 @@ di esecuzione sarà riferito alla registrazione in quanto tale, indipendentemente dalla funzione usata per farla. Una volta completata l'esecuzione di tutte le funzioni registrate verranno -chiusi tutti i \textit{file stream} aperti ed infine verrà chiamata -\func{\_exit} per la terminazione del programma. Questa è la sequenza -ordinaria, eseguita a meno che una delle funzioni registrate non esegua al suo -interno \func{\_exit}, nel qual caso la terminazione del programma sarà -immediata ed anche le successive funzioni registrate non saranno invocate. +chiusi tutti gli \textit{stream} aperti ed infine verrà chiamata \func{\_exit} +per la terminazione del programma. Questa è la sequenza ordinaria, eseguita a +meno che una delle funzioni registrate non esegua al suo interno +\func{\_exit}, nel qual caso la terminazione del programma sarà immediata ed +anche le successive funzioni registrate non saranno invocate. Se invece all'interno di una delle funzioni registrate si chiama un'altra volta \func{exit} lo standard POSIX.1-2001 prescrive un comportamento