typo
[gapil.git] / process.tex
index f616206895875a0483c740447ed167e6f10f8def..a574eb3bca402bdd43b1c709a53a5b1f1cad6d73 100644 (file)
@@ -64,7 +64,7 @@ se si vogliono scrivere programmi portabili 
 \label{sec:proc_conclusion}
 
 Normalmente un programma finisce è quando la funzione \func{main} ritorna, una
-modalità equivalente di concludere il programma è quella di chiamare
+modalità equivalente di chiudere il programma è quella di chiamare
 direttamente la funzione \func{exit} (che viene comunque chiamata
 automaticamente quando \func{main} ritorna).  Una forma alternativa è quella
 di chiamare direttamente la system call \func{\_exit}, che restituisce il
@@ -77,8 +77,8 @@ torneremo su questo in \secref{sec:proc_termination}.
 
 Il valore di ritorno della funzione \func{main}, o quello usato nelle chiamate
 ad \func{exit} e \func{\_exit}, viene chiamato \textsl{stato di uscita} (o
-\textit{exit status}) e passato al processo padre che aveva lanciato il
-programma (in genere la shell). In generale si usa questo valore per fornire
+\textit{exit status}) e passato al processo che aveva lanciato il programma
+(in genere la shell). In generale si usa questo valore per fornire
 informazioni sulla riuscita o il fallimento del programma; l'informazione è
 necessariamente generica, ed il valore deve essere compreso fra 0 e 255.
 
@@ -179,7 +179,7 @@ pu
 \end{prototype}
 \noindent la funzione richiede come argomento l'indirizzo della opportuna
 funzione di pulizia da chiamare all'uscita, che non deve prendere argomenti e
-non deve ritornare niente (deve essere essere cioè definita come \func{void
+non deve ritornare niente (deve essere essere cioè definita come \code{void
   function(void)}).
 
 Una estensione di \func{atexit} è la funzione \func{on\_exit}, che le
@@ -533,7 +533,7 @@ particolare:
 \end{itemize*}
 
 Il problema più comune e più difficile da risolvere che si incontra con le
-routines di allocazione è quando non viene opportunamente liberata la memoria
+routine di allocazione è quando non viene opportunamente liberata la memoria
 non più utilizzata, quello che in inglese viene chiamato \textit{memory-leak},
 (cioè \textsl{perdita di memoria}).
 
@@ -576,7 +576,7 @@ non esiste un analogo della \func{free}) in quanto essa viene rilasciata
 automaticamente al ritorno della funzione.
 
 Come è evidente questa funzione ha molti vantaggi, anzitutto permette di
-evitare alla readice i problemi di memory leak, dato che non serve più la
+evitare alla radice i problemi di memory leak, dato che non serve più la
 deallocazione esplicita; inoltre la deallocazione automatica funziona anche
 quando si usa \func{longjmp} per uscire da una subroutine con un salto non
 locale da una funzione (vedi \secref{sec:proc_longjmp}).
@@ -796,9 +796,9 @@ messo in esecuzione.
 Oltre al passaggio dei parametri, un'altra modalità che permette di passare
 delle informazioni che modifichino il comportamento di un programma è quello
 dell'uso del cosiddetto \textit{environment} (cioè l'uso delle
-\textsl{varibili di ambiente}). In questa sezione esamineremo le funzioni che
+\textsl{variabili di ambiente}). In questa sezione esamineremo le funzioni che
 permettono di gestire parametri e opzioni, e quelle che consentono di
-manipolare ed utilizzare le varibili di ambiente.
+manipolare ed utilizzare le variabili di ambiente.
 
 
 \subsection{Il formato dei parametri}
@@ -841,10 +841,10 @@ ed \cmd{-m} e la prima vuole un parametro mentre la seconda no
 \cmd{-m}).
 
 Per gestire le opzioni all'interno dei argomenti a linea di comando passati in
-\func{argv} le librerie standard del C forniscono la funzione \func{getopt}
+\var{argv} le librerie standard del C forniscono la funzione \func{getopt}
 che ha il seguente prototipo:
 \begin{prototype}{unistd.h}
-{int getopt(int argc, char * const argv[], const char * optstring)}
+{int getopt(int argc, char *const argv[], const char *optstring)}
 Esegue il parsing degli argomenti passati da linea di comando
 riconoscendo le possibili opzioni segnalate con \var{optstring}.
 
@@ -912,9 +912,9 @@ elementi di \var{argv} che cominciano con il carattere \texttt{'-'}.
 
 Quando la funzione trova un'opzione essa ritorna il valore numerico del
 carattere, in questo modo si possono eseguire azioni specifiche usando uno
-\func{switch}; \func{getopt} inoltre inizializza alcune variabili globali:
+\code{switch}; \func{getopt} inoltre inizializza alcune variabili globali:
 \begin{itemize*}
-\item \var{char * optarg} contiene il puntatore alla stringa parametro
+\item \var{char *optarg} contiene il puntatore alla stringa parametro
   dell'opzione.
 \item \var{int optind} alla fine della scansione restituisce l'indice del
   primo elemento di \var{argv} che non è un'opzione.
@@ -1128,7 +1128,7 @@ La seconda funzione prende come parametro una stringa analoga quella
 restituita da \func{getenv}, e sempre nella forma \var{NOME=valore}. Se la
 variabile specificata non esiste la stringa sarà aggiunta all'ambiente, se
 invece esiste il suo valore sarà settato a quello specificato da
-\func{string}. Si tenga presente che, seguendo lo standard SUSv2, le
+\param{string}. Si tenga presente che, seguendo lo standard SUSv2, le
 \acr{glibc} successive alla versione 2.1.2 aggiungono\footnote{il
   comportamento è lo stesso delle vecchie \acr{libc4} e \acr{libc5}; nelle
   \acr{glibc}, dalla versione 2.0 alla 2.1.1, veniva invece fatta una copia,
@@ -1143,7 +1143,7 @@ questa funzione una variabile automatica (per evitare i problemi esposti in
 
 Si tenga infine presente che se si passa a \func{putenv} solo il nome di una
 variabile (cioè \param{string} è nella forma \texttt{NAME} e non contiene un
-\var{=}) allora questa viene cancellata dall'ambiente. Infine se la chiamata
+\texttt{=}) allora questa viene cancellata dall'ambiente. Infine se la chiamata
 di \func{putenv} comporta la necessità di allocare una nuova versione del
 vettore \var{environ} questo sarà allocato, ma la versione corrente sarà
 deallocata solo se anch'essa è risultante da una allocazione fatta in
@@ -1325,7 +1325,7 @@ problema lo standard ISO C99\footnote{alcuni sistemi che non hanno questa
 eseguire la copia di un puntatore alla lista degli argomenti:
 \begin{prototype}{stdarg.h}{void va\_copy(va\_list dest, va\_list src)}
   Copia l'attuale valore \param{src} del puntatore alla lista degli argomenti
-  su \param{desc}.
+  su \param{dest}.
 \end{prototype}
 \noindent anche in questo caso è buona norma chiudere ogni esecuzione di una
 \macro{va\_copy} con una corrispondente \macro{va\_end} sul nuovo puntatore
@@ -1341,7 +1341,7 @@ In Linux gli argomenti dello stesso tipo sono passati allo stesso modo, sia
 che siano fissi sia che siano opzionali (alcuni sistemi trattano diversamente
 gli opzionali), ma dato che il prototipo non può specificare il tipo degli
 argomenti opzionali, questi verranno sempre promossi, pertanto nella ricezione
-dei medesimi ocoorrerà tenerne conto (ad esempio un \type{char} verrà visto da
+dei medesimi occorrerà tenerne conto (ad esempio un \type{char} verrà visto da
 \macro{va\_arg} come \type{int}).
 
 
@@ -1373,7 +1373,7 @@ sovrascrittura dei dati.
 
 Per questo una delle regole fondamentali della programmazione in C è che
 all'uscita di una funzione non deve restare nessun riferimento alle variabili
-locali; qualora sia necessirio utilizzare variabili che possano essere viste
+locali; qualora sia necessario utilizzare variabili che possano essere viste
 anche dalla funzione chiamante queste devono essere allocate esplicitamente, o
 in maniera statica (usando variabili di tipo \type{static} o \type{extern}), o
 dinamicamente con una delle funzioni della famiglia \func{malloc}.
@@ -1383,7 +1383,7 @@ dinamicamente con una delle funzioni della famiglia \func{malloc}.
 
 Il controllo del flusso di un programma in genere viene effettuato con le
 varie istruzioni del linguaggio C, la più bistrattata delle quali è il
-\func{goto}, ampiamente deprecato in favore di costrutti più puliti; esiste
+\code{goto}, ampiamente deprecato in favore di costrutti più puliti; esiste
 però un caso in l'uso di questa istruzione porta all'implementazione più
 efficiente, quello dell'uscita in caso di errore.
 
@@ -1425,3 +1425,8 @@ suo prototipo 
   \bodydesc{La funzione non ritorna.}
 \end{functions}
 
+
+%%% Local Variables: 
+%%% mode: latex
+%%% TeX-master: "gapil"
+%%% End: