1
0
Эх сурвалжийг харах

fix #321: not set SO_REUSEADDR on windows

ithewei 3 жил өмнө
parent
commit
77b7a70bcd
2 өөрчлөгдсөн 4 нэмэгдсэн , 0 устгасан
  1. 2 0
      base/hsocket.c
  2. 2 0
      event/hloop.c

+ 2 - 0
base/hsocket.c

@@ -180,8 +180,10 @@ static int sockaddr_bind(sockaddr_u* localaddr, int type) {
         return socket_errno_negative();
     }
 
+#ifdef OS_UNIX
     so_reuseaddr(sockfd, 1);
     // so_reuseport(sockfd, 1);
+#endif
 
     if (bind(sockfd, &localaddr->sa, sockaddr_len(localaddr)) < 0) {
         perror("bind");

+ 2 - 0
event/hloop.c

@@ -941,8 +941,10 @@ hio_t* hio_create_socket(hloop_t* loop, const char* host, int port, hio_type_e t
     }
     hio_t* io = NULL;
     if (side == HIO_SERVER_SIDE) {
+#ifdef OS_UNIX
         so_reuseaddr(sockfd, 1);
         // so_reuseport(sockfd, 1);
+#endif
         if (bind(sockfd, &addr.sa, sockaddr_len(&addr)) < 0) {
             perror("bind");
             closesocket(sockfd);