X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=tcpsock.tex;h=9d9f02b0922bbf231b95c60e8050b306bb9ee44b;hp=9ab288d24ec980a70b6c1ea640588751455f33d2;hb=5d621249af8897e27fc0a842a33e7a7ef3b9c2ca;hpb=0196c376e39fc18f8cd5e7fef47b61264f943faf diff --git a/tcpsock.tex b/tcpsock.tex index 9ab288d..9d9f02b 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1,6 +1,6 @@ %% tcpsock.tex %% -%% Copyright (C) 2000-2008 Simone Piccardi. Permission is granted to +%% Copyright (C) 2000-2010 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", @@ -241,9 +241,9 @@ deve ancora eseguire la chiusura passiva a quello che sta eseguendo la chiusura attiva. Nella sequenza indicata i dati verrebbero persi, dato che si è chiuso il socket dal lato che esegue la chiusura attiva; esistono tuttavia situazioni in cui si vuole poter sfruttare questa possibilità, usando una -procedura che è chiamata \textit{half-close}; torneremo su questo aspetto e su -come utilizzarlo in sez.~\ref{sec:TCP_shutdown}, quando parleremo della -funzione \func{shutdown}. +procedura che è chiamata \itindex{half-close} \textit{half-close}; torneremo +su questo aspetto e su come utilizzarlo in sez.~\ref{sec:TCP_shutdown}, quando +parleremo della funzione \func{shutdown}. La emissione del FIN avviene quando il socket viene chiuso, questo però non avviene solo per la chiamata esplicita della funzione \func{close}, ma anche @@ -2775,8 +2775,6 @@ sez.~\ref{sec:file_multiplexing} e non staremo a ripetere quanto detto l sappiamo che la funzione ritorna quando uno o più dei file descriptor messi sotto controllo è pronto per la relativa operazione. - - In quell'occasione non abbiamo però definito cosa si intende per pronto, infatti per dei normali file, o anche per delle pipe, la condizione di essere pronti per la lettura o la scrittura è ovvia; invece lo è molto meno nel caso @@ -3089,9 +3087,9 @@ valori: \item[\macro{SHUT\_WR}] chiude il lato in scrittura del socket, non sarà più possibile scrivere dati su di esso. Nel caso di socket TCP la chiamata causa l'emissione di un segmento FIN, secondo la procedura chiamata - \textit{half-close}. Tutti i dati presenti nel buffer di scrittura prima - della chiamata saranno inviati, seguiti dalla sequenza di chiusura - illustrata in sez.~\ref{sec:TCP_conn_term}. + \itindex{half-close} \textit{half-close}. Tutti i dati presenti nel buffer + di scrittura prima della chiamata saranno inviati, seguiti dalla sequenza di + chiusura illustrata in sez.~\ref{sec:TCP_conn_term}. \item[\macro{SHUT\_RDWR}] chiude sia il lato in lettura che quello in scrittura del socket. È equivalente alla chiamata in sequenza con \macro{SHUT\_RD} e \macro{SHUT\_WR}. @@ -3583,6 +3581,14 @@ quanto l'uscita anche a questo server le considerazioni finali di sez.~\ref{sec:TCP_serv_select}. + + + +\subsection{I/O multiplexing con \func{epoll}} +\label{sec:TCP_serv_epoll} + +Da fare. + % TODO fare esempio con epoll