X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileio.tex;h=b7db3a7073279bd39e6d0f957d7aff27a873c552;hp=1ab6aeef18fc86370ea2caad5d21010ea8f9bcdf;hb=c6998e1daad18f2bf10b0dbff8c7441139a27795;hpb=7e19b798d0cc09960daad695d8f3b242170bb3b4 diff --git a/fileio.tex b/fileio.tex index 1ab6aee..b7db3a7 100644 --- a/fileio.tex +++ b/fileio.tex @@ -1194,7 +1194,7 @@ situazione è illustrata in fig.~\ref{fig:file_acc_child}; dato che il processo figlio riceve una copia dello spazio di indirizzi del padre, riceverà anche una copia di \kstruct{file\_struct} e della relativa tabella dei file aperti. -Questo significa che il figlio avrà gli stessi file aperti del padre, in +Questo significa che il figlio avrà gli stessi file aperti del padre in quanto la sua \kstruct{file\_struct}, pur essendo allocata in maniera indipendente, contiene gli stessi valori di quella del padre e quindi i suoi file descriptor faranno riferimento alla stessa voce nella \textit{file @@ -2235,10 +2235,10 @@ sez.~\ref{sec:file_asyncronous_operation} mentre quelle relative al di questa funzione con i socket verrà trattato in sez.~\ref{sec:sock_ctrl_func}. -La gran parte dei comandi di \func{fcntl} (\const{F\_DUPFD}, \const{F\_GETFD}, -\const{F\_SETFD}, \const{F\_GETFL}, \const{F\_SETFL}, \const{F\_GETLK}, -\const{F\_SETLK} e \const{F\_SETLKW}) sono previsti da SVr4 e 4.3BSD e -standardizzati in POSIX.1-2001 che inoltre prevede gli ulteriori +La gran parte dei comandi di \func{fcntl} (come \const{F\_DUPFD}, +\const{F\_GETFD}, \const{F\_SETFD}, \const{F\_GETFL}, \const{F\_SETFL}, +\const{F\_GETLK}, \const{F\_SETLK} e \const{F\_SETLKW}) sono previsti da SVr4 +e 4.3BSD e standardizzati in POSIX.1-2001 che inoltre prevede gli ulteriori \const{F\_GETOWN} e \const{F\_SETOWN}. Pertanto nell'elenco si sono indicate esplicitamente soltanto le ulteriori richieste in termini delle macro di funzionalità di sez.~\ref{sec:intro_gcc_glibc_std} soltanto per le @@ -3040,16 +3040,16 @@ di architettura hardware, come la dimensione del bus o la modalità di ordinamento dei bit o il formato delle variabili in floating point. Per questo motivo quando si usa l'input/output binario occorre sempre prendere -le opportune precauzioni (in genere usare un formato di più alto livello che -permetta di recuperare l'informazione completa), per assicurarsi che versioni -diverse del programma siano in grado di rileggere i dati tenendo conto delle +le opportune precauzioni come usare un formato di più alto livello che +permetta di recuperare l'informazione completa, per assicurarsi che versioni +diverse del programma siano in grado di rileggere i dati, tenendo conto delle eventuali differenze. -Le \acr{glibc} definiscono altre due funzioni per l'I/O binario, -\funcd{fread\_unlocked} e \funcd{fwrite\_unlocked} che evitano il lock -implicito dello \textit{stream}, usato per dalla librerie per la gestione -delle applicazioni \textit{multi-thread} (si veda -sez.~\ref{sec:file_stream_thread} per i dettagli), i loro prototipi sono: +Le \acr{glibc} definiscono infine due ulteriori funzioni per l'I/O binario, +\funcd{fread\_unlocked} e \funcd{fwrite\_unlocked}, che evitano il lock +implicito dello \textit{stream} usato per dalla librerie per la gestione delle +applicazioni \textit{multi-thread} (si veda sez.~\ref{sec:file_stream_thread} +per i dettagli), i loro prototipi sono: \begin{funcproto}{ \fhead{stdio.h} @@ -4029,7 +4029,7 @@ scelta, si può forzare lo scarico dei dati sul file con la funzione \end{funcproto} \noindent anche di questa funzione esiste una analoga \func{fflush\_unlocked} -(accessibile definendo \macro{\_BSD\_SOURCE} o \macro{\_SVID\_SOURCE} o +(accessibile definendo una fra \macro{\_BSD\_SOURCE}, \macro{\_SVID\_SOURCE} o \macro{\_GNU\_SOURCE}) che non effettua il blocco dello \textit{stream}. % TODO aggiungere prototipo \func{fflush\_unlocked}?