X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=tcpsock.tex;h=5c618e563e6a3c263323f1fc185aba765a96f58a;hp=5a95a989ba47f0a7fcea7a52aabb56c3d6e5b2f8;hb=8e5ef936044c774fd84c348afbd4ebc30c8ff2d1;hpb=271b1b8bf70e62b5ab4457895664400ff6f51973 diff --git a/tcpsock.tex b/tcpsock.tex index 5a95a98..5c618e5 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1545,13 +1545,13 @@ ulteriori connessioni. Si noti come il figlio operi solo sul socket connesso, chiudendo immediatamente (\texttt{\small 33}) il socket \var{list\_fd}; mentre il padre continua ad operare solo sul socket in ascolto chiudendo (\texttt{\small 48}) -\var{sock\_fd} al ritorno dalla \func{fork}. Per quanto abbiamo detto in +\var{conn\_fd} al ritorno dalla \func{fork}. Per quanto abbiamo detto in \secref{sec:TCP_func_close} nessuna delle due chiamate a \func{close} causa l'innesco della sequenza di chiusura perché il numero di riferimenti al file descriptor non si è annullato. Infatti subito dopo la creazione del socket \var{list\_fd} ha una referenza, e -lo stesso vale per \var{sock\_fd} dopo il ritorno di \func{accept}, ma dopo la +lo stesso vale per \var{conn\_fd} dopo il ritorno di \func{accept}, ma dopo la \func{fork} i descrittori vengono duplicati nel padre e nel figlio per cui entrambi i socket si trovano con due referenze. Questo fa si che quando il padre chiude \var{sock\_fd} esso resta con una referenza da parte del figlio,