X-Git-Url: https://gapil.gnulinux.it/gitweb/?a=blobdiff_plain;f=fileadv.tex;h=3e26a51cf79e429c6aad4e7c81f8f4090a90860e;hb=8b674096ce07c5809c4b3520fa5b093d25f99ef2;hp=42458e927fa50ac9912c8f65041de0d3bc52836e;hpb=6271cd1b0cc4d403753d1f48d3d562b16db7e613;p=gapil.git diff --git a/fileadv.tex b/fileadv.tex index 42458e9..3e26a51 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -974,12 +974,11 @@ Per far questo per (vedi sez.~\ref{sec:sig_real_time}) impostando esplicitamente con il comando \const{F\_SETSIG} di \func{fcntl} un segnale real-time da inviare in caso di I/O asincrono (il segnale predefinito è \const{SIGIO}). In questo caso il -gestore, tutte le volte che riceverà \const{SI\_SIGIO} come valore del -campo \var{si\_code}\footnote{il valore resta \const{SI\_SIGIO} qualunque sia - il segnale che si è associato all'I/O asincrono, ed indica appunto che il - segnale è stato generato a causa di attività nell'I/O asincrono.} di -\struct{siginfo\_t}, troverà nel campo \var{si\_fd} il valore del file -descriptor che ha generato il segnale. +gestore, tutte le volte che riceverà \const{SI\_SIGIO} come valore del campo +\var{si\_code}\footnote{il valore resta \const{SI\_SIGIO} qualunque sia il + segnale che si è associato all'I/O, ed indica appunto che il segnale è stato + generato a causa di attività di I/O.} di \struct{siginfo\_t}, troverà nel +campo \var{si\_fd} il valore del file descriptor che ha generato il segnale. Un secondo vantaggio dell'uso dei segnali real-time è che essendo questi ultimi dotati di una coda di consegna ogni segnale sarà associato ad uno solo @@ -988,7 +987,7 @@ risposta a seconda del segnale usato, dato che i segnali real-time supportano anche questa funzionalità. In questo modo si può identificare immediatamente un file su cui l'accesso è diventato possibile evitando completamente l'uso di funzioni come \func{poll} e \func{select}, almeno fintanto che non si satura -la coda. +la coda. Se infatti si eccedono le dimensioni di quest'ultima, il kernel, non potendo più assicurare il comportamento corretto per un segnale real-time, invierà al @@ -1740,6 +1739,9 @@ raggruppati in un solo evento. \index{file!inotify|)} +% TODO trattare fanotify, vedi http://lwn.net/Articles/339399/ e +% http://lwn.net/Articles/343346/ + \subsection{L'interfaccia POSIX per l'I/O asincrono} \label{sec:file_asyncronous_io}