introdotta una opzione ulteriore, \const{SO\_REUSEPORT} che richiede che detta
opzione sia specificata per tutti i socket per i quali si vuole eseguire il
\textit{completely duplicate binding}. Nel caso di Linux questa opzione non
-esiste, ma il comportamento di \const{SO\_REUSEADDR} è analogo, sarà cioè
-possibile effettuare un \textit{completely duplicate binding} ed ottenere il
-successo di \func{bind} su un socket legato allo stesso indirizzo e porta solo
-se il programma che ha eseguito per primo \func{bind} su di essi ha impostato
-questa opzione.\footnote{questa restrizione permette di evitare il cosiddetto
- \textit{port stealing}, in cui un programma, usando \const{SO\_REUSEADDR},
- può collegarsi ad una porta già in uso e ricevere i pacchetti destinati ad
- un altro programma; con questa caratteristica ciò è possibile soltanto se il
+esisteva fino al kernel 3.9, ma il comportamento di \const{SO\_REUSEADDR} è
+analogo, sarà cioè possibile effettuare un \textit{completely duplicate
+ binding} ed ottenere il successo di \func{bind} su un socket legato allo
+stesso indirizzo e porta solo se il programma che ha eseguito per primo
+\func{bind} su di essi ha impostato questa opzione.\footnote{questa
+ restrizione permette di evitare parzialmente il cosiddetto \textit{port
+ stealing}, in cui un programma, usando \const{SO\_REUSEADDR}, può
+ collegarsi ad una porta già in uso e ricevere i pacchetti destinati ad un
+ altro programma; con questa caratteristica ciò è possibile soltanto se il
primo programma a consentirlo, avendo usato fin dall'inizio
- \const{SO\_REUSEADDR}.}
+ \const{SO\_REUSEADDR}.}
+
+% TODO documentare SO_REUSEPORT, vedi https://lwn.net/Articles/542260/
+
\index{costante!{SO\_REUSEADDR}@{{\tt {SO\_REUSEADDR}}}|)}