Correzioni prima del pull, probabile conflitto
authorSimone Piccardi <piccardi@gnulinux.it>
Sat, 26 Jan 2019 10:17:17 +0000 (11:17 +0100)
committerSimone Piccardi <piccardi@gnulinux.it>
Sat, 26 Jan 2019 10:17:17 +0000 (11:17 +0100)
fileio.tex

index 024cc34..41d3954 100644 (file)
@@ -1738,24 +1738,26 @@ quanto visto per \func{access} in sez.~\ref{sec:file_perm_management}).
 
 Inoltre come già accennato, la directory di lavoro corrente è una proprietà
 associata al singolo processo; questo significa che quando si lavora con i
-\textit{thread} questa sarà sempre la stessa per tutti \textit{thread}, ed un
-cabiamento di directory di lavoro effettuato all'interno di un \textit{thread}
-verrà applicato a tutti, non esiste quindi con le funzioni classiche un modo
-semplice per far si che i singoli \textit{thread} possano aprire file usando
-una propria directory per risolvere i \textit{pathname} relativi.
+\textit{thread} questa sarà sempre la stessa per tutti \textit{thread}, per
+cui un cabiamento di directory di lavoro effettuato all'interno di un
+\textit{thread} verrà applicato anche a tutti gli altri; non esiste quindi con
+le funzioni classiche un modo semplice per far si che i singoli
+\textit{thread} possano aprire file usando una propria directory per risolvere
+i \textit{pathname} relativi.
 
 Per risolvere questi problemi, riprendendo una interfaccia già presente in
 Solaris, a fianco delle normali funzioni che operano sui file (come
 \func{open}, \func{mkdir}, ecc.) sono state introdotte delle ulteriori
-funzioni di sistema, chiamate ``\textit{at-functions}'' in quanto quasi tutte
-sono contraddistinte dal suffisso \texttt{at}, che permettono l'apertura di un
-file (o le rispettive altre operazioni) usando un \textit{pathname} relativo
-ad una directory specificata.\footnote{l'introduzione è avvenuta su proposta
-  dello sviluppatore principale della \acr{glibc} Urlich Drepper e le
-  corrispondenti \textit{system call} sono state inserite nel kernel a partire
-  dalla versione 2.6.16, in precedenza era disponibile una emulazione che, sia
-  pure con prestazioni inferiori, funzionava facendo ricorso all'uso del
-  filesystem \textit{proc} con l'apertura del file attraverso il riferimento a
+funzioni di sistema, chiamate genericamente ``\textit{at-functions}'' in
+quanto usualmente contraddistinte dal suffisso \texttt{at}, che permettono
+l'apertura di un file (o le rispettive altre operazioni) usando un
+\textit{pathname} relativo ad una directory
+specificata.\footnote{l'introduzione è avvenuta su proposta dello sviluppatore
+  principale della \acr{glibc} Urlich Drepper e le corrispondenti
+  \textit{system call} sono state inserite nel kernel a partire dalla versione
+  2.6.16, in precedenza era disponibile una emulazione che, sia pure con
+  prestazioni inferiori, funzionava facendo ricorso all'uso del filesystem
+  \textit{proc} con l'apertura del file attraverso il riferimento a
   \textit{pathname} del tipo di \texttt{/proc/self/fd/dirfd/relative\_path}.}
 
 Benché queste funzioni non siano presenti negli standard tradizionali esse
@@ -1806,20 +1808,19 @@ esame la nuova funzione di sistema \funcd{openat}, il cui prototipo è:
 Il comportamento di \func{openat} è del tutto analogo a quello di \func{open},
 con la sola eccezione del fatto che se per l'argomento \param{pathname} si
 utilizza un \textit{pathname} relativo questo, sarà risolto rispetto alla
-directory indicata da \param{dirfd}. Qualora invece si usi un
+directory indicata da \param{dirfd}; qualora invece si usi un
 \textit{pathname} assoluto \param{dirfd} verrà semplicemente ignorato. Infine
-se per \param{dirfd} si usa il valore speciale \constd{AT\_FDCWD}, la
+se per \param{dirfd} si usa il valore speciale \constd{AT\_FDCWD} la
 risoluzione sarà effettuata rispetto alla directory di lavoro corrente del
-processo. Si tenga presente però che questa, 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.
+processo. Questa, come le altre costanti \texttt{AT\_*}, è definita in
+\headfile{fcntl.h}, per cui per usarla occorrerà includere comunque questo
+file, anche per le funzioni che non sono definite in esso.
 
-Si tenga comunque presente che l'uso di \func{openat} non risolve in generale
-tutte le possibili \textit{race condition} legati all'apertura di un file,
-dopo un eventuale controllo di accesso o esistenza, ma consente comunque di
-difendersi da tutti gli attacchi eseguiti modificando le componenti superiori
-del suo \textit{pathname}. Inoltre una ...
+Si tenga presente che l'uso di \func{openat} non risolve in generale tutte le
+possibili \textit{race condition} legate all'apertura di un file dopo un
+eventuale controllo di accesso o esistenza, ma consente comunque di difendersi
+da tutti gli attacchi eseguiti modificando le componenti superiori del suo
+\textit{pathname}. Inoltre una ...
 
 Così come il comportamento, anche i valori di ritorno e le condizioni di
 errore delle nuove funzioni sono gli stessi delle funzioni classiche, agli
@@ -1894,6 +1895,9 @@ anche l'aggiunta di un ulteriore argomento finale, \param{flags}.
 % TODO manca prototipo di execveat, introdotta nel 3.19, vedi
 % https://lwn.net/Articles/626150/ cerca anche fexecve
 
+% TODO: trattare i nuovi AT_flags quando e se arriveranno, vedi
+% https://lwn.net/Articles/767547/ 
+
 
 Per tutte le funzioni che lo prevedono, a parte \func{unlinkat} e
 \funcd{faccessat}, l'ulteriore argomento è stato introdotto solo per fornire