|
@@ -145,6 +145,12 @@ int connect_mud(struct session *ses, char *host, char *port)
|
|
|
return -1;
|
|
return -1;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+ int optval = 1;
|
|
|
|
|
+ if (setsockopt(sock, SOL_SOCKET, SO_KEEPALIVE, &optval, sizeof(optval)) < 0)
|
|
|
|
|
+ {
|
|
|
|
|
+ syserr_printf(ses, "connect_mud: unable to use tcp keepalive, continuing without");
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
ses->connect_error = connect(sock, address->ai_addr, address->ai_addrlen);
|
|
ses->connect_error = connect(sock, address->ai_addr, address->ai_addrlen);
|
|
|
|
|
|
|
|
if (fcntl(sock, F_SETFL, O_NDELAY|O_NONBLOCK) == -1)
|
|
if (fcntl(sock, F_SETFL, O_NDELAY|O_NONBLOCK) == -1)
|