X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=errors.tex;h=c900dd43899670575dd3d4bc8a161b8f6976c156;hp=7cf46fc6c397987161df56deef30d6ef3870a7b8;hb=7e19b798d0cc09960daad695d8f3b242170bb3b4;hpb=ffb12837c5ed8ccc095bc9c88349cd19b5e6b472 diff --git a/errors.tex b/errors.tex index 7cf46fc..c900dd4 100644 --- a/errors.tex +++ b/errors.tex @@ -1,6 +1,6 @@ %% errors.tex %% -%% Copyright (C) 2000-2012 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", @@ -14,12 +14,12 @@ 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 @@ -41,10 +41,9 @@ gestione dei file. permessa: solo il proprietario del file o un processo con sufficienti privilegi può eseguire l'operazione. \item[\errcode{ENOENT} \textit{No such file or directory}.] Il file indicato - dal \itindex{pathname} \textit{pathname} non esiste: o una delle componenti - non esiste o il \textit{pathname} contiene un link simbolico spezzato. - Errore tipico di un riferimento ad un file che si suppone erroneamente - essere esistente. + dal \textit{pathname} non esiste: o una delle componenti non esiste o il + \textit{pathname} contiene un link simbolico spezzato. Errore tipico di un + riferimento ad un file che si suppone erroneamente essere esistente. \item[\errcode{EIO} \textit{Input/output error}.] Errore di input/output: usato per riportare errori hardware in lettura/scrittura su un dispositivo. \item[\errcode{ENXIO} \textit{No such device or address}.] Dispositivo @@ -63,11 +62,9 @@ gestione dei file. al file o alla directory non è consentito: i permessi del file o della directory non consentono l'operazione richiesta. \item[\errcode{ELOOP} \textit{Too many symbolic links encountered}.] Ci sono - troppi link simbolici nella risoluzione di un - \itindex{pathname} \textit{pathname}. + troppi link simbolici nella risoluzione di un \textit{pathname}. \item[\errcode{ENAMETOOLONG} \textit{File name too long}.] Si è indicato un - \itindex{pathname} \textit{pathname} troppo lungo per un file o una - directory. + \textit{pathname} troppo lungo per un file o una directory. \item[\errcode{ENOTBLK} \textit{Block device required}.] Si è specificato un file che non è un \textit{block device} in un contesto in cui era necessario specificare un \textit{block device} (ad esempio si è tentato di montare un @@ -106,20 +103,20 @@ gestione dei file. \item[\errcode{ENOSPC} \textit{No space left on device}.] La directory in cui si vuole creare il link non ha spazio per ulteriori voci, o si è cercato di scrivere o di creare un nuovo file su un dispositivo che è già pieno. -\item[\errcode{ESPIPE} \textit{Invalid seek operation}.] Si cercato di eseguire - una \func{seek} su un file che non supporta questa operazione (ad esempio su - una pipe). +\item[\errcode{ESPIPE} \textit{Invalid seek operation}.] Si cercato di + eseguire una \func{lseek} su un file che non supporta questa operazione (ad + esempio su una \textit{pipe}, da cui il nome). \item[\errcode{EROFS} \textit{Read-only file system}.] Si è cercato di eseguire una operazione di scrittura su un file o una directory che risiede su un filesystem montato un sola lettura. -\item[\errcode{EMLINK} \textit{Too many links}]. Ci sono già troppi link al - file (il numero massimo è specificato dalla variabile \const{LINK\_MAX}, - vedi sez.~\ref{sec:sys_limits}). +\item[\errcode{EMLINK} \textit{Too many links}.] Ci sono già troppi link al + file, il numero massimo è specificato dalla variabile \const{LINK\_MAX}, + vedi sez.~\ref{sec:sys_limits}. \item[\errcode{EPIPE} \textit{Broken pipe}.] Non c'è un processo che stia - leggendo l'altro capo della pipe. Ogni funzione che restituisce questo - errore genera anche un segnale \signal{SIGPIPE}, la cui azione predefinita è - terminare il programma; pertanto non si potrà vedere questo errore fintanto - che \signal{SIGPIPE} non viene gestito o bloccato. + leggendo l'altro capo della \textit{pipe}. Ogni funzione che restituisce + questo errore genera anche un segnale \signal{SIGPIPE}, la cui azione + predefinita è terminare il programma; pertanto non si potrà vedere questo + errore fintanto che \signal{SIGPIPE} non viene gestito o bloccato. \item[\errcode{ENOTEMPTY} \textit{Directory not empty}.] La directory non è vuota quando l'operazione richiede che lo sia. È l'errore tipico che si ha quando si cerca di cancellare una directory contenente dei file. @@ -140,8 +137,8 @@ gestione dei file. \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} @@ -153,8 +150,8 @@ gestione 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 @@ -276,13 +273,12 @@ specificati nelle sezioni precedenti. \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. @@ -397,7 +393,7 @@ messaggio. \item[\errcode{ENOSR} \textit{Out of streams resources}.] Errore relativo agli \textit{STREAMS}, che indica l'assenza di risorse sufficienti a completare l'operazione richiesta. Quella degli \textit{STREAMS}\footnote{che non vanno - confusi con gli \textit{stream} di cap.~\ref{cha:files_std_interface}.} è + confusi con gli \textit{stream} di sez.~\ref{sec:files_std_interface}.} è interfaccia di programmazione originaria di System V, che non è implementata da Linux, per cui questo errore non viene utilizzato.