]> jfr.im git - irc/rizon/plexus4.git/commitdiff
listener: enable IP_FREEBIND if it is available
authorAdam <redacted>
Wed, 12 Oct 2016 12:52:29 +0000 (08:52 -0400)
committerAdam <redacted>
Wed, 12 Oct 2016 12:52:29 +0000 (08:52 -0400)
src/listener.c

index 73b2d7cdc84dc238653e7e94318257ea71de722d..6150f89cee66880b71b5976d66464f20ae10ca98 100644 (file)
@@ -165,6 +165,15 @@ inetport(struct Listener *listener)
     return 0;
   }
 
+#ifdef IP_FREEBIND
+  if (setsockopt(listener->fd.fd, SOL_IP, IP_FREEBIND, &opt, sizeof(opt)))
+  {
+    report_error(L_ALL, "setting IP_FREEBIND for listener %s:%s",
+                 get_listener_name(listener), errno);
+    // ignore
+  }
+#endif
+
 #ifdef IPV6
 #ifdef IPV6_V6ONLY
   /* This OS supports IPv6 sockets that can also listen for IPv4