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;
|