X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=sockctrl.tex;h=7b4bad10511068c2b8d88e70f70c2ff34229e86e;hp=9bc93366da772b7d8cf6cc2a75d41a04de3f4f72;hb=8e2e77dff8f3cffb28ddf982280dff6fc015eb19;hpb=dcf2c2df897955ff3503a7c426025457ab456fd7 diff --git a/sockctrl.tex b/sockctrl.tex index 9bc9336..7b4bad1 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -2386,12 +2386,12 @@ avuto un crollo del sistema ed è stata riavviata, per cui dopo il riavvio la connessione non esiste più.\footnote{si ricordi che un normale riavvio o il crollo dell'applicazione non ha questo effetto, in quanto in tal caso si passa sempre per la chiusura del processo, e questo, come illustrato in - sez.~\ref{sec:file_close}, comporta anche la regolare chiusura del socket - con l'invio di un segmento FIN all'altro capo della connessione.} In questo -caso all'invio del messaggio di \textit{keep-alive} si otterrà come risposta -un segmento RST che indica che l'altro capo non riconosce più l'esistenza -della connessione ed il socket verrà chiuso riportando un errore di -\errcode{ECONNRESET}. + sez.~\ref{sec:file_open_close}, comporta anche la regolare chiusura del + socket con l'invio di un segmento FIN all'altro capo della connessione.} In +questo caso all'invio del messaggio di \textit{keep-alive} si otterrà come +risposta un segmento RST che indica che l'altro capo non riconosce più +l'esistenza della connessione ed il socket verrà chiuso riportando un errore +di \errcode{ECONNRESET}. Se invece non viene ricevuta nessuna risposta (indice che la macchina non è più raggiungibile) l'emissione dei messaggi viene ripetuta ad intervalli di 75 @@ -3545,11 +3545,10 @@ caratteristiche delle opzioni citate è quello dell'elenco seguente: Benché la maggior parte delle caratteristiche dei socket sia gestibile con le funzioni \func{setsockopt} e \func{getsockopt}, alcune proprietà possono essere impostate attraverso le funzioni \func{fcntl} e \func{ioctl} già -trattate in sez.~\ref{sec:file_fcntl} e sez.~\ref{sec:file_ioctl}; in -quell'occasione abbiamo parlato di queste funzioni esclusivamente nell'ambito -della loro applicazione a file descriptor associati a dei file normali; qui -tratteremo invece i dettagli del loro utilizzo con file descriptor associati a -dei socket. +trattate in sez.~\ref{sec:file_fcntl_ioctl}; in quell'occasione abbiamo +parlato di queste funzioni esclusivamente nell'ambito della loro applicazione +a file descriptor associati a dei file normali; qui tratteremo invece i +dettagli del loro utilizzo con file descriptor associati a dei socket. \subsection{L'uso di \func{ioctl} e \func{fcntl} per i socket generici} @@ -3557,10 +3556,10 @@ dei socket. Tratteremo in questa sezione le caratteristiche specifiche delle funzioni \func{ioctl} e \func{fcntl} quando esse vengono utilizzate con dei socket -generici. Quanto già detto in precedenza in sez.~\ref{sec:file_fcntl} e -sez.~\ref{sec:file_ioctl} continua a valere; quello che tratteremo qui sono le -operazioni ed i comandi che sono validi, o che hanno significati peculiari, -quando queste funzioni vengono applicate a dei socket generici. +generici. Quanto già detto in precedenza sez.~\ref{sec:file_fcntl_ioctl} +continua a valere; quello che tratteremo qui sono le operazioni ed i comandi +che sono validi, o che hanno significati peculiari, quando queste funzioni +vengono applicate a dei socket generici. Nell'elenco seguente si riportano i valori specifici che può assumere il secondo argomento della funzione \func{ioctl} (\param{request}, che indica il @@ -3600,10 +3599,10 @@ identificano le operazioni sono le seguenti: nullo. \item[\const{FIOASYNC}] Abilita o disabilita la modalità di I/O asincrono sul - socket. Questo significa (vedi sez.~\ref{sec:file_asyncronous_operation}) - che verrà inviato il segnale di \signal{SIGIO} (o quanto impostato con - \const{F\_SETSIG}, vedi sez.~\ref{sec:file_fcntl}) in caso di eventi di I/O - sul socket. + socket. Questo significa (vedi sez.~\ref{sec:signal_driven_io}) che verrà + inviato il segnale di \signal{SIGIO} (o quanto impostato con + \const{F\_SETSIG}, vedi sez.~\ref{sec:file_fcntl_ioctl}) in caso di eventi + di I/O sul socket. \end{basedescript} Nel caso dei socket generici anche \func{fcntl} prevede un paio di comandi