%% fileunix.tex
%%
-%% Copyright (C) 2000-2007 Simone Piccardi. Permission is granted to
+%% Copyright (C) 2000-2009 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",
anche in FreeBSD, senza limiti di allineamento dei buffer. In Linux è stata
introdotta con il kernel 2.4.10, le versioni precedenti la ignorano.}
-\footnotetext[7]{introdotto con il kernel 2.6.23, per evitare una \textit{race
- condition} che si può verificare con i thread, fra l'apertura del file e
- l'impostazione della suddetta modalità con \func{fcntl}.}
+\footnotetext[7]{introdotto con il kernel 2.6.23, per evitare una
+ \itindex{race~condition} \textit{race condition} che si può verificare con i
+ \itindex{thread} \textit{thread}, fra l'apertura del file e l'impostazione
+ della suddetta modalità con \func{fcntl}.}
Questa caratteristica permette di prevedere qual è il valore del file
descriptor che si otterrà al ritorno di \func{open}, e viene talvolta usata da
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 thread essa
-sarà la stessa per tutti, ma esistono molti casi in cui sarebbe invece utile
-che ogni singolo thread avesse la sua directory di lavoro.
+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.
Per risolvere questi problemi, riprendendo una interfaccia già presente in
Solaris, a fianco delle normali funzioni che operano sui file (come
L'idea è che si apra prima la directory che si vuole usare come base dei
pathname relativo, e si passi il file descriptor alla funzione che userà
quella directory come punto di partenza per la risoluzione.\footnote{in questo
- modo, anche quando si lavora con i thread, si può mantenere anche una
- directory di lavoro diversa per ciascuno di essi.} Con queste funzioni si
-possono anche ottenere grossi aumenti di prestazioni quando si devono eseguire
-operazioni su delle sezioni di albero dei file che prevedono gerarchie molto
-profonde e grandi quantità di file e directory, dato che basta eseguire la
-risoluzione di un pathname una sola volta (nell'apertura della directory) e
-non per ciascun file che essa contiene.
+ modo, anche quando si lavora con i \itindex{thread} \textit{thread}, si può
+ mantenere anche una directory di lavoro diversa per ciascuno di essi.} Con
+queste funzioni si possono anche ottenere grossi aumenti di prestazioni quando
+si devono eseguire operazioni su delle sezioni di albero dei file che
+prevedono gerarchie molto profonde e grandi quantità di file e directory, dato
+che basta eseguire la risoluzione di un pathname una sola volta (nell'apertura
+della directory) e non per ciascun file che essa contiene.
La sintassi generale di queste nuove funzioni è che esse prendano come primo
argomento il file descriptor della directory da usare come base, mentre gli