From c293b5306e2be6b5db7a685ab6fbcd9036e053ba Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 6 Jan 2005 19:07:24 +0000 Subject: [PATCH] Referenze e piccole correzioni --- sockctrl.tex | 24 +++++++++++++++++------- tcpsock.tex | 6 +++--- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/sockctrl.tex b/sockctrl.tex index 6333dbe..dbc5cd6 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -2192,8 +2192,8 @@ allora il seguente: state rimosse con il passaggio al 2.2; è consigliato correggere i programmi piuttosto che usare questa funzione. -\item[\const{SO\_PASSCRED}] questa opzione abilita la ricezione dei messaggi - di controllo di tipo \const{SCM\_CREDENTIALS} sui socket unix-domain. Prende +\item[\const{SO\_PASSCRED}] questa opzione abilita sui socket unix-domain la + ricezione dei messaggi di controllo di tipo \const{SCM\_CREDENTIALS}. Prende come \param{optval} un intero usato come valore logico. \item[\const{SO\_PEERCRED}] questa opzione restituisce le credenziali del @@ -2232,13 +2232,17 @@ allora il seguente: abilitata una serie di messaggi con le informazioni di debug vengono inviati direttamente al sistema del kernel log.\footnote{si tenga presente che il comportamento è diverso da quanto avviene con BSD, dove l'opzione opera - solo sui socket TCP causando la scrittura di tutti i pacchetti inviati + solo sui socket TCP, causando la scrittura di tutti i pacchetti inviati sulla rete su un buffer circolare che viene letto da un apposito programma, \cmd{trpt}.} \item[\const{SO\_REUSEADDR}] questa opzione permette di eseguire la funzione \func{bind} su indirizzi locali che siano già in uso; l'opzione utilizza per - \param{optval} un intero usato come valore logico. + \param{optval} un intero usato come valore logico. + + Questa opzione modifica il comportamento normale dell'interfaccia dei socket + che fa fallire l'esecuzione della funzione \func{bind} con un errore di + \errcode{EADDRINUSE} quando l'indirizzo @@ -2256,16 +2260,22 @@ allora il seguente: \item[\const{SO\_DONTROUTE}] questa opzione forza l'invio diretto dei pacchetti del socket, saltando ogni processo relativo all'uso della tabella di routing del kernel. Prende come \param{optval} un intero usato come - valore logico. + valore logico. \item[\const{SO\_BROADCAST}] \item[\const{SO\_SNDBUF}] + + \item[\const{SO\_RCVBUF}] + + \item[\const{SO\_LINGER}] \item[\const{SO\_PRIORITY}] -\item[\const{SO\_ERROR}] + +\item[\const{SO\_ERROR}] + \end{basedescript} @@ -2278,7 +2288,7 @@ Bench attraverso le due funzioni \func{setsockopt} e \func{getsockopt}, alcune funzionalità possono essere impostate attraverso quelle che sono le funzioni classiche per il controllo delle proprietà dei file, cioè \func{fcntl} e -\func{ioctl}. +\func{ioctl}. \subsection{L'uso di \func{fcntl} per i socket} diff --git a/tcpsock.tex b/tcpsock.tex index eced3f8..27f96ef 100644 --- a/tcpsock.tex +++ b/tcpsock.tex @@ -1208,9 +1208,9 @@ argomento per una \func{write} o una \func{read} (anche se l'altro capo della connessione non avesse chiuso la sua parte). Il kernel invierà comunque tutti i dati che ha in coda prima di iniziare la sequenza di chiusura. -Vedremo più avanti in sez.~\ref{sec:TCP_so_linger} come è possibile cambiare -questo comportamento, e cosa deve essere fatto perché il processo possa -assicurarsi che l'altro capo abbia ricevuto tutti i dati. +Vedremo più avanti in sez.~\ref{sec:sock_generic_options} come sia possibile +cambiare questo comportamento, e cosa può essere fatto perché il processo +possa assicurarsi che l'altro capo abbia ricevuto tutti i dati. Come per tutti i file descriptor anche per i socket viene mantenuto un numero di riferimenti, per cui se più di un processo ha lo stesso socket aperto -- 2.30.2