X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=process.tex;fp=process.tex;h=a1bee2b766e39c7ea79a32417f4cd1d0a4aa4c89;hp=9a67fb5ed49c9be4824ae5b75f9b47d283341774;hb=ae7bf994013ffbf4f5ef1d5a38a18033593e3e9f;hpb=ee65c9e30267ed1b0c0cef337c3ff86f9e0b370d diff --git a/process.tex b/process.tex index 9a67fb5..a1bee2b 100644 --- a/process.tex +++ b/process.tex @@ -452,7 +452,7 @@ i valori 0 e 1. Una forma alternativa per effettuare una terminazione esplicita di un programma è quella di chiamare direttamente la \textit{system call} \funcd{\_exit},\footnote{la stessa è definita anche come \funcd{\_Exit} in - \headfile{stdlib.h}, inoltre a partire dalle \acr{glibc} 2.3 usando questa + \headfile{stdlib.h}, inoltre a partire dalla \acr{glibc} 2.3 usando questa funzione viene invocata \func{exit\_group} che termina tutti i \textit{thread} del processo e non solo quello corrente (fintanto che non si usano i \textit{thread}\unavref{, vedi sez.~\ref{cha:threads},} questo non @@ -522,9 +522,9 @@ opportuna funzione di pulizia da chiamare all'uscita del programma, che non deve prendere argomenti e non deve ritornare niente. In sostanza deve la funzione di pulizia dovrà essere definita come \code{void function(void)}. -Un'estensione di \func{atexit} è la funzione \funcd{on\_exit}, che le -\acr{glibc} includono per compatibilità con SunOS ma che non è detto sia -definita su altri sistemi,\footnote{la funzione è disponibile dalle +Un'estensione di \func{atexit} è la funzione \funcd{on\_exit}, che la +\acr{glibc} include per compatibilità con SunOS ma che non è detto sia +definita su altri sistemi,\footnote{la funzione è disponibile dalla \acr{glibc} 2.19 definendo la macro \macro{\_DEFAULT\_SOURCE}, mentre in precedenza erano necessarie \macro{\_BSD\_SOURCE} o \macro{\_SVID\_SOURCE}; non essendo prevista dallo standard POSIX è in generale preferibile evitarne @@ -966,7 +966,7 @@ in caso di successo e \val{NULL} in caso di fallimento, nel qual caso In genere si usano \func{malloc} e \func{calloc} per allocare dinamicamente un'area di memoria.\footnote{queste funzioni presentano un comportamento - diverso fra le \acr{glibc} e le \acr{uClib} quando il valore di \param{size} + diverso fra la \acr{glibc} e la \acr{uClib} quando il valore di \param{size} è nullo. Nel primo caso viene comunque restituito un puntatore valido, anche se non è chiaro a cosa esso possa fare riferimento, nel secondo caso viene restituito \val{NULL}. Il comportamento è analogo con @@ -1624,12 +1624,12 @@ accada con altre implementazioni. Nessuna delle due funzioni ha una chiara standardizzazione e nessuna delle due compare in POSIX.1, inoltre ci sono indicazioni discordi sui file che ne contengono la definizione;\footnote{secondo SUSv2 \func{valloc} è definita in - \headfile{stdlib.h}, mentre sia le \acr{glibc} che le precedenti \acr{libc4} + \headfile{stdlib.h}, mentre sia la \acr{glibc} che le precedenti \acr{libc4} e \acr{libc5} la dichiarano in \headfile{malloc.h}, lo stesso vale per \func{memalign} che in alcuni sistemi è dichiarata in \headfile{stdlib.h}.} per questo motivo il loro uso è sconsigliato, essendo state sostituite dalla nuova \funcd{posix\_memalign}, che è stata standardizzata in POSIX.1d e -disponibile dalle \acr{glibc} 2.1.91; il suo prototipo è: +disponibile dalla \acr{glibc} 2.1.91; il suo prototipo è: \begin{funcproto}{ \fhead{stdlib.h} @@ -1655,7 +1655,7 @@ valore di ritorno il codice di errore. Come per le precedenti la memoria allocata con \func{posix\_memalign} deve essere disallocata con \func{free}, che in questo caso però è quanto richiesto dallo standard. -Dalla versione 2.16 delle \acr{glibc} è stata aggiunta anche la funzione +Dalla versione 2.16 della \acr{glibc} è stata aggiunta anche la funzione \funcd{aligned\_alloc}, prevista dallo standard C11 (e disponibile definendo \const{\_ISOC11\_SOURCE}), il cui prototipo è: @@ -2189,7 +2189,7 @@ sostituendo il relativo puntatore;\footnote{il comportamento è lo stesso delle vecchie \acr{libc4} e \acr{libc5}; nella \acr{glibc}, dalla versione 2.0 alla 2.1.1, veniva invece fatta una copia, seguendo il comportamento di BSD4.4; dato che questo può dar luogo a perdite di memoria e non rispetta lo - standard il comportamento è stato modificato a partire dalle 2.1.2, + standard il comportamento è stato modificato a partire dalla 2.1.2, eliminando anche, sempre in conformità a SUSv2, l'attributo \direct{const} dal prototipo.} pertanto ogni cambiamento alla stringa in questione si riflette automaticamente sull'ambiente, e quindi si deve evitare di passare a @@ -2310,7 +2310,7 @@ versione ``\textsl{sicura}'' da zero. %\label{sec:proc_opt_extended} %Oltre alla modalità ordinaria di gestione delle opzioni trattata in -%sez.~\ref{sec:proc_opt_handling} le \acr{glibc} forniscono una modalità +%sez.~\ref{sec:proc_opt_handling} la \acr{glibc} fornisce una modalità %alternativa costituita dalle cosiddette \textit{long-options}, che consente di %esprimere le opzioni in una forma più descrittiva che nel caso più generale è %qualcosa del tipo di ``\texttt{-{}-option-name=parameter}''.