La funzione non ritorna. Il processo viene terminato.
\end{prototype}
-La funzione chiude tutti i file descriptor appartenenti al processo (sui tenga
+La funzione chiude tutti i file descriptor appartenenti al processo (si tenga
presente che questo non comporta il salvataggio dei dati bufferizzati degli
stream), fa si che ogni figlio del processo sia ereditato da \cmd{init}
(vedi \secref{cha:process_handling}), manda un segnale \macro{SIGCHLD} al
Come è evidente questa funzione ha molti vantaggi, e permette di evitare i
problemi di memory leak non essendo più necessaria la deallocazione esplicita;
una delle ragioni principali per usarla è però che funziona anche quando si
-usa \func{longjump} per uscire con un salto non locale da una funzione (vedi
+usa \func{longjmp} per uscire con un salto non locale da una funzione (vedi
\secref{sec:proc_longjmp}),
Un altro vantaggio e che in Linux la funzione è molto veloce e non viene
caso \var{errno} è settata ad uno dei valori seguenti:
\begin{errlist}
\item \macro{ENOMEM} alcuni indirizzi dell'intervallo specificato non
- corripondono allo spazio di indirizzi del processo o si è ecceduto il
+ corrispondono allo spazio di indirizzi del processo o si è ecceduto il
numero massimo consentito di pagine bloccate.
\item \macro{EPERM} il processo non ha i privilegi richiesti per
l'operazione.
\var{errno} è settata ad uno dei valori seguenti:
\begin{errlist}
\item \macro{ENOMEM} alcuni indirizzi dell'intervallo specificato non
- corripondono allo spazio di indirizzi del processo.
+ corrispondono allo spazio di indirizzi del processo.
\item \macro{EINVAL} \var{len} non è un valore positivo.
\end{errlist}
\end{functions}
\textbf{Variabile} & POSIX & XPG & Linux & \textbf{Descrizione} \\
\hline
\hline
- \macro{USER} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{LOGNAME} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{HOME} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{LANG} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{PATH} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{PWD} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{SHELL} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{TERM} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{PAGER} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{EDITOR} & $\bullet$ & $\bullet$ & $\bullet$ & \\
- \macro{BROWSER} & $\bullet$ & $\bullet$ & $\bullet$ & \\
+ \macro{USER} & $\bullet$ & $\bullet$ & $\bullet$ & Nome utente\\
+ \macro{LOGNAME} & $\bullet$ & $\bullet$ & $\bullet$ & Nome utente\\
+ \macro{HOME} & $\bullet$ & $\bullet$ & $\bullet$ &
+ Directory base dell'utente\\
+ \macro{LANG} & $\bullet$ & $\bullet$ & $\bullet$ & Localizzazione\\
+ \macro{PATH} & $\bullet$ & $\bullet$ & $\bullet$ & Elenco delle directory
+ dei programmi\\
+ \macro{PWD} & $\bullet$ & $\bullet$ & $\bullet$ & Directory corrente\\
+ \macro{SHELL} & $\bullet$ & $\bullet$ & $\bullet$ & Shell in uso\\
+ \macro{TERM} & $\bullet$ & $\bullet$ & $\bullet$ & Tipo di terminale\\
+ \macro{PAGER} & $\bullet$ & $\bullet$ & $\bullet$ & Programma per vedere i
+ testi\\
+ \macro{EDITOR} & $\bullet$ & $\bullet$ & $\bullet$ & Editor di default\\
+ \macro{BROWSER} & $\bullet$ & $\bullet$ & $\bullet$ & Browser di default\\
+ \hline
\end{tabular}
\caption{Variabile di ambiente più comuni definite da vari standard}
\label{tab:proc_env_var}
Lo standard ANSI C, pur lasciando alle varie implementazioni i contenuti,
definisce la funzione \func{getenv} che permetta di ottenere i valori delle
-varibili di ambiente, il suo prototipo è:
+variabili di ambiente, il suo prototipo è:
\begin{prototype}{stdlib.h}{char *getenv(const char *name)}
Esamina l'ambiente del processo cercando una stringa che corrisponda a
La funzione ritorna zero quando è chiamata direttamente e un valore diverso
da zero quando ritorna da una chiamata di \func{longjmp} che usa il contesto
- salvato in predenza.
+ salvato in precedenza.
\funcdecl{void longjmp(jmp\_buf env, int val)}
Ripristina il contesto dello stack salvato dall'ultima chiamata di
\func{setjmp} con l'argomento \param{env}. Il programma prosegue dal ritorno
di \func{setjmp} con un valore \param{val}. Il valore di \param{val} deve
- essere diverso da zero, se viene specficato 0 sarà usato 1 al suo posto.
+ essere diverso da zero, se viene specificato 0 sarà usato 1 al suo posto.
La funzione non ritorna.
\end{functions}