Reindicizzazioni e correzioni varie
[gapil.git] / fileunix.tex
index 9b8be611f693aa9a771834c21c7af07a12917ab2..796f05284d6fa8575c3812801f83328f5d7ae17f 100644 (file)
@@ -152,7 +152,7 @@ tab.~\ref{tab:file_std_files}.
       error}\\
     \hline
   \end{tabular}
-  \caption{Costanti definite in \file{unistd.h} per i file standard aperti 
+  \caption{Costanti definite in \headfile{unistd.h} per i file standard aperti 
     alla creazione di ogni processo.}
   \label{tab:file_std_files}
 \end{table}
@@ -744,7 +744,7 @@ accessibile solo attivando il supporto delle estensioni previste dalle
 #define _XOPEN_SOURCE 500
 \end{verbatim}
 e si ricordi di definire questa macro prima dell'inclusione del file di
-dichiarazioni \file{unistd.h}.
+dichiarazioni \headfile{unistd.h}.
 
 
 
@@ -1128,16 +1128,18 @@ file descriptor libero di valore uguale o maggiore di \param{newfd} (e se
 
 Un problema che si pone con l'uso della funzione \func{open}, così come per
 molte altre funzioni che accettano come argomenti dei pathname relativi, è
-che, quando un pathname relativo non fa riferimento alla directory di lavoro
-corrente, è possibile che alcuni dei suoi componenti vengano modificati in
-parallelo alla chiamata a \func{open}, e questo lascia aperta la possibilità
-di una \itindex{race~condition} \textit{race condition}.
-
-Inoltre come già accennato, la directory di lavoro corrente è una proprietà
-del singolo processo; questo significa che quando si lavora con i
-\itindex{thread} \textit{thread} essa sarà la stessa per tutti, ma esistono
-molti casi in cui sarebbe invece utile che ogni singolo \itindex{thread}
-\textit{thread} avesse la sua directory di lavoro.
+che, quando un pathname relativo non fa riferimento alla
+\index{directory~di~lavoro} directory di lavoro corrente, è possibile che
+alcuni dei suoi componenti vengano modificati in parallelo alla chiamata a
+\func{open}, e questo lascia aperta la possibilità di una
+\itindex{race~condition} \textit{race condition}.
+
+Inoltre come già accennato, la \index{directory~di~lavoro} directory di lavoro
+corrente è una proprietà del singolo processo; questo significa che quando si
+lavora con i \itindex{thread} \textit{thread} essa sarà la stessa per tutti,
+ma esistono molti casi in cui sarebbe invece utile che ogni singolo
+\itindex{thread} \textit{thread} avesse la sua \index{directory~di~lavoro}
+directory di lavoro.
 
 Per risolvere questi problemi, riprendendo una interfaccia già presente in
 Solaris, a fianco delle normali funzioni che operano sui file (come
@@ -1163,8 +1165,9 @@ sarà la base della risoluzione dei pathname relativi che verranno usati in
 seguito, dopo di che si dovrà passare il relativo file descriptor alle varie
 funzioni che useranno quella directory come punto di partenza per la
 risoluzione.\footnote{in questo modo, anche quando si lavora con i
-  \itindex{thread} \textit{thread}, si può mantenere una directory di lavoro
-  diversa per ciascuno di essi.} 
+  \itindex{thread} \textit{thread}, si può mantenere una
+  \index{directory~di~lavoro} directory di lavoro diversa per ciascuno di
+  essi.}
 
 Questo metodo, oltre a risolvere i problemi di \itindex{race~condition}
 \textit{race condition}, consente anche di ottenere aumenti di prestazioni
@@ -1185,7 +1188,8 @@ come:
   \funcdecl{int openat(int dirfd, const char *pathname, int flags,  mode\_t
     mode))} 
 
-  Apre un file usando come directory di lavoro corrente \param{dirfd}.
+  Apre un file usando come directory di \index{directory~di~lavoro} lavoro
+  corrente \param{dirfd}.
   
   \bodydesc{la funzione restituisce gli stessi valori e gli stessi codici di
     errore di \func{open}, ed in più:
@@ -1202,10 +1206,11 @@ argomenti si utilizza un pathname relativo questo sarà risolto rispetto alla
 directory indicata da \param{dirfd}; qualora invece si usi un pathname
 assoluto \param{dirfd} verrà semplicemente ignorato. Infine se per
 \param{dirfd} si usa il valore speciale \const{AT\_FDCWD},\footnote{questa,
-  come le altre costanti \texttt{AT\_*}, è definita in \texttt{fcntl.h},
+  come le altre costanti \texttt{AT\_*}, è definita in \headfile{fcntl.h},
   pertanto se la si vuole usare occorrerà includere comunque questo file,
   anche per le funzioni che non sono definite in esso.} la risoluzione sarà
-effettuata rispetto alla directory di lavoro corrente del processo.
+effettuata rispetto alla directory di \index{directory~di~lavoro} lavoro
+corrente del processo.
 
 Così come il comportamento, anche i valori di ritorno e le condizioni di
 errore delle nuove funzioni sono gli stessi delle funzioni classiche, agli
@@ -1269,7 +1274,7 @@ direttamente sullo stesso o sul file da esso referenziato. Dato che in certi
 casi esso può fornire ulteriori indicazioni per modificare il comportamento
 delle funzioni, \param{flags} deve comunque essere passato come maschera
 binaria, ed impostato usando i valori delle appropriate costanti
-\texttt{AT\_*}, definite in \texttt{fcntl.h}.
+\texttt{AT\_*}, definite in \headfile{fcntl.h}.
 
 Come esempio di questo secondo tipo di funzioni possiamo considerare
 \funcd{fchownat}, che può essere usata per sostituire sia \func{chown}
@@ -1294,7 +1299,7 @@ che \func{lchown}; il suo prototipo è:
 
 In questo caso il valore di \param{flags} stabilisce il comportamento della
 funzione quando la si applica ad un link simbolico, e l'unico valore
-utilizzabile è \const{AT\_SYMLINK\_NOFOLLOW}\footnote{in \texttt{fcntl.h} è
+utilizzabile è \const{AT\_SYMLINK\_NOFOLLOW}\footnote{in \headfile{fcntl.h} è
   definito anche \const{AT\_SYMLINK\_FOLLOW}, che richiede di dereferenziare i
   link simbolici, essendo questo però il comportamento adottato per un valore
   nullo di \param{flags} questo valore non viene mai usato.} che se impostato
@@ -1327,7 +1332,7 @@ La funzione esegue lo stesso controllo di accesso effettuabile con
 il comportamento rispetto a quello ordinario di \func{access}. In questo caso
 esso può essere specificato come maschera binaria di due valori:
 \begin{basedescript}{\desclabelwidth{3.0cm}}
-\item[\const{AT\_EACCESS}] se impostato \funcd{faccessat} esegue il controllo
+\item[\const{AT\_EACCES}] se impostato \funcd{faccessat} esegue il controllo
   dei permessi usando l'\ids{UID} effettivo invece di quello reale (il
   comportamento di default, che riprende quello di \func{access}).
 \item[\const{AT\_SYMLINK\_NOFOLLOW}] se impostato \funcd{faccessat} non esegue
@@ -1540,8 +1545,8 @@ di quest'ultimo non assegna bit separati alle tre diverse modalità
   queste costanti sono poste rispettivamente ai valori 0, 1 e 2.} Per questo
 motivo il valore della modalità di accesso corrente si ottiene eseguendo un
 AND binario del valore di ritorno di \func{fcntl} con la maschera
-\const{O\_ACCMODE} (anch'essa definita in \file{fcntl.h}), che estrae i bit di
-accesso dal \textit{file status flag}.
+\const{O\_ACCMODE} (anch'essa definita in \headfile{fcntl.h}), che estrae i
+bit di accesso dal \textit{file status flag}.
 
 
 
@@ -1617,8 +1622,8 @@ elenco di alcuni esempi di esse è il seguente:
 
 In generale ogni dispositivo ha un suo insieme di operazioni specifiche
 effettuabili attraverso \func{ioctl}, tutte queste sono definite nell'header
-file \file{sys/ioctl.h}, e devono essere usate solo sui dispositivi cui fanno
-riferimento. Infatti anche se in genere i valori di \param{request} sono
+file \headfile{sys/ioctl.h}, e devono essere usate solo sui dispositivi cui
+fanno riferimento. Infatti anche se in genere i valori di \param{request} sono
 opportunamente differenziati a seconda del dispositivo\footnote{il kernel usa
   un apposito \textit{magic number} per distinguere ciascun dispositivo nella
   definizione delle macro da usare per \param{request}, in modo da essere
@@ -1727,7 +1732,7 @@ ma le due funzioni sono rimaste.
 % LocalWords:  Drepper path dirfd faccessat unlinkat access fchmodat chmod Di
 % LocalWords:  fchownat chown fstatat futimesat utimes linkat mknodat mknod uid
 % LocalWords:  readlinkat readlink renameat rename symlinkat symlink unlink gid
-% LocalWords:  mkfifoat mkfifo FDCWD EACCESS dereferenziazione rmdir REMOVEDIR
+% LocalWords:  mkfifoat mkfifo FDCWD dereferenziazione rmdir REMOVEDIR
 % LocalWords:  epoll lsattr chattr FIOQSIZE ATFILE lutimes utimensat lchown
 % LocalWords:  lstat owner FOLLOW