X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileio.tex;h=3d855263b513c6ae2e901205824b9a8d981f697a;hp=c95fb864a2b6159daefb73bc2f524fea2d7526df;hb=18f401b26dcb222f30925a0cf03cca8db52495cb;hpb=bff0559197d4aeb49ef522aa29e61cd5f2a77346 diff --git a/fileio.tex b/fileio.tex index c95fb86..3d85526 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1,6 +1,6 @@ %% fileio.tex (merge fileunix.tex - filestd.tex) %% -%% Copyright (C) 2000-2014 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2015 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", @@ -745,10 +745,10 @@ intero positivo che esprime il numero di byte dall'inizio del file. Tutte le operazioni di lettura e scrittura avvengono a partire da questa posizione che viene automaticamente spostata in avanti del numero di byte letti o scritti. -In genere, a meno di non avere richiesto la modalità \itindex{append~mode} di -\textit{append} con \const{O\_APPEND}, questa posizione viene impostata a zero -all'apertura del file. È possibile impostarla ad un valore qualsiasi con la -funzione di sistema \funcd{lseek}, il cui prototipo è: +In genere, a meno di non avere richiesto la modalità di \textit{append} con +\const{O\_APPEND}, questa posizione viene impostata a zero all'apertura del +file. È possibile impostarla ad un valore qualsiasi con la funzione di sistema +\funcd{lseek}, il cui prototipo è: \begin{funcproto}{ \fhead{sys/types.h} @@ -825,8 +825,8 @@ Si tenga presente inoltre che usare \const{SEEK\_END} non assicura affatto che la successiva scrittura avvenga alla fine del file, infatti se questo è stato aperto anche da un altro processo che vi ha scritto, la fine del file può essersi spostata, ma noi scriveremo alla posizione impostata in precedenza -(questa è una potenziale sorgente di \itindex{race~condition} \textit{race - condition}, vedi sez.~\ref{sec:file_shared_access}). +(questa è una potenziale sorgente di \textit{race condition}, vedi +sez.~\ref{sec:file_shared_access}). Non tutti i file supportano la capacità di eseguire una \func{lseek}, in questo caso la funzione ritorna l'errore \errcode{ESPIPE}. Questo, oltre che @@ -1084,7 +1084,7 @@ prototipo è: Come nel caso di \func{read} la funzione tenta di scrivere \param{count} byte a partire dalla posizione corrente nel file e sposta automaticamente la posizione in avanti del numero di byte scritti. Se il file è aperto in -modalità \itindex{append~mode} \const{O\_APPEND} i dati vengono sempre scritti +modalità \textit{append} con \const{O\_APPEND} i dati vengono sempre scritti alla fine del file. Lo standard POSIX richiede che i dati scritti siano immediatamente disponibili ad una \func{read} chiamata dopo che la \func{write} che li ha scritti è ritornata; ma dati i meccanismi di caching @@ -1876,6 +1876,8 @@ precisione fino al nanosecondo. % inserita nello stesso standard e da usare con openat, vedi % http://pubs.opengroup.org/onlinepubs/9699939699/toc.pdf +% TODO: manca prototipo e motivazione di execveat, vedi +% http://man7.org/linux/man-pages/man2/execveat.2.html \subsection{Le operazioni di controllo} \label{sec:file_fcntl_ioctl}