|
Date: Mon, 1 Apr 2013 12:53:11 -0400
From: Rich Felker <dalias@...ifal.cx>
To: simon@...kelleys.org.uk
Cc: musl@...ts.openwall.com
Subject: Breakeage on Linux due to SO_REUSEPORT
Hi,
Back in November, we had a bug report against musl libc due to dnsmasq
failing because we had defined SO_REUSEPORT in the headers, but Linux
did not support it. At the time I just removed the definition, but
we're adding it back now, as Linux has just recently added
SO_REUSEPORT support, and thus the same issue will arise with glibc
(which is just including asm/socket.h and thus getting the kernel's
definition of it) too. I've attached the original bug report thread.
The fundamental problem is that it's not valid to assume SO_REUSEPORT
is supported/working just because it's defined. Instead, the usage
pattern should probably be something like
#ifdef SO_REUSEPORT
if (setsockopt(s, SO_REUSEPORT, ...)<0 && errno==ENOPROTOOPT)
#endif
setsockopt(s, SO_REUSEADDR, ...);
Rich
Content of type "message/rfc822" skipped
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.