Blame SOURCES/tigervnc-1.3.1-repair-so-reuseaddr.patch

2bf600
diff --git a/common/network/TcpSocket.cxx b/common/network/TcpSocket.cxx
2bf600
index 83387ab..0d94522 100644
2bf600
--- a/common/network/TcpSocket.cxx
2bf600
+++ b/common/network/TcpSocket.cxx
2bf600
@@ -434,10 +434,6 @@ TcpListener::TcpListener(const struct sockaddr *listenaddr,
2bf600
   }
2bf600
 #endif /* defined(IPV6_V6ONLY) */
2bf600
2bf600
-  if (bind(sock, &sa.u.sa, listenaddrlen) == -1) {
2bf600
-    closesocket(sock);
2bf600
-    throw SocketException("failed to bind socket", errorNumber);
2bf600
-  }
2bf600
 #ifndef WIN32
2bf600
   // - By default, close the socket on exec()
2bf600
   fcntl(sock, F_SETFD, FD_CLOEXEC);
2bf600
@@ -452,6 +448,11 @@ TcpListener::TcpListener(const struct sockaddr *listenaddr,
2bf600
   fd = sock;
2bf600
 #endif
2bf600
2bf600
+  if (bind(sock, &sa.u.sa, listenaddrlen) == -1) {
2bf600
+    closesocket(sock);
2bf600
+    throw SocketException("failed to bind socket", errorNumber);
2bf600
+  }
2bf600
+
2bf600
   // - Set it to be a listening socket
2bf600
   if (listen(sock, 5) < 0) {
2bf600
     int e = errorNumber;