31 lines
1.2 KiB
Diff
31 lines
1.2 KiB
Diff
|
https://bugs.gentoo.org/484212
|
||
|
|
||
|
Description: SO_REUSEPORT may not exist in running kernel
|
||
|
When userspace defines SO_REUSEPORT we will attempt to enable socket
|
||
|
port number reuse. However if the running kernel does not support
|
||
|
this call it will fail preventing daemon startup. If this call is
|
||
|
present but fails ENOPROTOOPT then we know that actually the kernel
|
||
|
does not support it and we should continue as if we did not have the
|
||
|
call at all. (LP: #1228204)
|
||
|
.
|
||
|
This patch could be removed from the debian package after jessie release.
|
||
|
Author: Andy Whitcroft <apw@canonical.com>
|
||
|
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1228204
|
||
|
Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=732009
|
||
|
Last-Update: 2013-09-20
|
||
|
|
||
|
Index: avahi-0.6.31/avahi-core/socket.c
|
||
|
===================================================================
|
||
|
--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100
|
||
|
+++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100
|
||
|
@@ -177,7 +177,8 @@
|
||
|
yes = 1;
|
||
|
if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) {
|
||
|
avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno));
|
||
|
- return -1;
|
||
|
+ if (errno != ENOPROTOOPT)
|
||
|
+ return -1;
|
||
|
}
|
||
|
#endif
|
||
|
|