Kaynağa Gözat

Clarify Windows SO_REUSEADDR exception

tags/v1.4.90
Pierre Ossman 9 yıl önce
ebeveyn
işleme
056c153209
1 değiştirilmiş dosya ile 6 ekleme ve 1 silme
  1. 6
    1
      common/network/TcpSocket.cxx

+ 6
- 1
common/network/TcpSocket.cxx Dosyayı Görüntüle

@@ -440,10 +440,15 @@ TcpListener::TcpListener(const struct sockaddr *listenaddr,
}
#endif /* defined(IPV6_V6ONLY) */

#ifndef WIN32
#ifdef FD_CLOEXEC
// - By default, close the socket on exec()
fcntl(sock, F_SETFD, FD_CLOEXEC);
#endif

// SO_REUSEADDR is broken on Windows. It allows binding to a port
// that already has a listening socket on it. SO_EXCLUSIVEADDRUSE
// might do what we want, but requires investigation.
#ifndef WIN32
if (setsockopt(sock, SOL_SOCKET, SO_REUSEADDR,
(char *)&one, sizeof(one)) < 0) {
int e = errorNumber;

Loading…
İptal
Kaydet