Subject: Re: A call to revise sockets behaviour

From: "Artem S. Tashkinov" <[email-masked]>
Date: Mon, 29 Jul 2013 18:02:16 +0000 (UTC)

Jul 29, 2013 11:43:00 PM, Eric wrote:
On Mon, 2013-07-29 at 15:47 +0000, Artem S. Tashkinov wrote:
>
>> A wine developer clearly showed that this option simply doesn't work. 
>> 
>> http://bugs.winehq.org/show_bug.cgi?id=26031#c21
>> 
>> Output of strace:
>> getsockopt(24, SOL_SOCKET, SO_REUSEADDR, [0], [4]) = 0
>> setsockopt(24, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
>> bind(24, {sa_family=AF_INET, sin_port=htons(43012), sin_addr=inet_addr("0.     
>> 0.0.0")}, 16) = -1 EADDRINUSE (Address already in use)
>
>Its clear that some other socket did not use SO_REUSADDR
>
>All sockets using a given port _must_ have use SO_REUSADDR to allow this
>port being reused.
>

It's exactly what's been tried. A program running with SO_REUSADDR, once no longer
running consequently fails to regain the rights for the port.