Hans Leidekker : ws2_32: Set SO_REUSEPORT in addition to SO_REUSEADDR on MacOS.

Alexandre Julliard julliard at winehq.org
Fri Jan 11 13:46:59 CST 2013


Module: wine
Branch: master
Commit: 197041f1ffe4841b0514701fd22fd4b743a41cd4
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=197041f1ffe4841b0514701fd22fd4b743a41cd4

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Jan 11 17:22:59 2013 +0100

ws2_32: Set SO_REUSEPORT in addition to SO_REUSEADDR on MacOS.

---

 dlls/ws2_32/socket.c |    9 +++++++++
 1 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/dlls/ws2_32/socket.c b/dlls/ws2_32/socket.c
index eeb5265..c390828 100644
--- a/dlls/ws2_32/socket.c
+++ b/dlls/ws2_32/socket.c
@@ -4452,6 +4452,15 @@ int WINAPI WS_setsockopt(SOCKET s, int level, int optname,
 
     if (setsockopt(fd, level, optname, optval, optlen) == 0)
     {
+#ifdef __APPLE__
+        if (level == SOL_SOCKET && optname == SO_REUSEADDR &&
+            setsockopt(fd, level, SO_REUSEPORT, optval, optlen) != 0)
+        {
+            SetLastError(wsaErrno());
+            release_sock_fd( s, fd );
+            return SOCKET_ERROR;
+        }
+#endif
         release_sock_fd( s, fd );
         return 0;
     }




More information about the wine-cvs mailing list