%% errors.tex
%%
-%% Copyright (C) 2000-2015 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2018 Simone Piccardi. Permission is granted to
%% copy, distribute and/or modify this document under the terms of the GNU Free
%% Documentation License, Version 1.1 or any later version published by the
%% Free Software Foundation; with the Invariant Sections being "Un preambolo",
Si riportano in questa appendice tutti i codici di errore. Essi sono
accessibili attraverso l'inclusione del file di header \headfile{errno.h}, che
-definisce anche la \index{variabili!globali} variabile globale
-\var{errno}. Per ogni errore definito riporteremo la stringa stampata da
-\func{perror} ed una breve spiegazione. Si tenga presente che spiegazioni più
-particolareggiate del significato dell'errore, qualora necessarie per casi
-specifici, possono essere trovate nella descrizione del prototipo della
-funzione per cui detto errore si è verificato.
+definisce anche la variabile globale \var{errno}. Per ogni errore definito
+riporteremo la stringa stampata da \func{perror} ed una breve spiegazione. Si
+tenga presente che spiegazioni più particolareggiate del significato
+dell'errore, qualora necessarie per casi specifici, possono essere trovate
+nella descrizione del prototipo della funzione per cui detto errore si è
+verificato.
I codici di errore sono riportati come costanti di tipo \ctyp{int}, i valori
delle costanti sono definiti da macro di preprocessore nel file citato, e
\item[\errcode{EFTYPE} \textit{Inappropriate file type or format}.] Il file è
di tipo sbagliato rispetto all'operazione richiesta o un file di dati ha un
formato sbagliato. Alcuni sistemi restituiscono questo errore quando si
- cerca di impostare lo \itindex{sticky~bit} \textit{sticky bit} su un file che
- non è una directory.
+ cerca di impostare lo \textit{sticky bit} su un file che non è una
+ directory.
\end{basedescript}
\section{Gli errori dei processi}
\begin{basedescript}{\desclabelwidth{2.cm}\desclabelstyle{\nextlinelabel}}
\item[\errcode{ESRCH} \textit{No process matches the specified process ID}.]
- Non esiste un processo o un \itindex{process~group} \textit{process group}
- corrispondenti al valore dell'identificativo specificato.
+ Non esiste un processo o un \textit{process group} corrispondenti al valore
+ dell'identificativo specificato.
\item[\errcode{E2BIG} \textit{Argument list too long}.] La lista degli
argomenti passati è troppo lunga: è una condizione prevista da POSIX quando
la lista degli argomenti passata ad una delle funzioni \func{exec} occupa
\item[\errcode{ENOMEM} \textit{No memory available}.] Il kernel non è in grado
di allocare ulteriore memoria per completare l'operazione richiesta.
\item[\errcode{EDEADLK} \textit{Deadlock avoided}.] L'allocazione di una
- risorsa avrebbe causato un \itindex{deadlock} \textit{deadlock}. Non sempre
- il sistema è in grado di riconoscere queste situazioni, nel qual caso si
- avrebbe il blocco.
+ risorsa avrebbe causato un \textit{deadlock}. Non sempre il sistema è in
+ grado di riconoscere queste situazioni, nel qual caso si avrebbe il blocco.
\item[\errcode{EFAULT} \textit{Bad address}.] Una stringa passata come
argomento è fuori dello spazio di indirizzi del processo, in genere questa
- situazione provoca direttamente l'emissione di un segnale di
- \itindex{segment~violation} \textit{segment violation} (\signal{SIGSEGV}).
+ situazione provoca direttamente l'emissione di un segnale di \textit{segment
+ violation} (\signal{SIGSEGV}).
\item[\errcode{EINVAL} \textit{Invalid argument}.] Errore utilizzato per
segnalare vari tipi di problemi dovuti all'aver passato un argomento
sbagliato ad una funzione di libreria.