+ % TODO documentare SO_REUSEPORT introdotta con il kernel 3.9, vedi
+ % http://git.kernel.org/linus/c617f398edd4db2b8567a28e899a88f8f574798d TODO:
+ % in cosa differisce da REUSEADDR?
+
+
+ Essendo questo un caso particolare in alcuni sistemi (come BSD) è stata
+ 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 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.
+
+ 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}. Con l'introduzione di \const{SO\_REUSEPORT} una
+ ulteriore protezione deriva dalla richiesta che tutti i processi che usano
+ questa opzione per un socket abbiano lo stesso \ids{UID} effettivo.
+
+\constend{SO\_REUSEPORT}