for (i = 0; (s = index234(sktree, i)) != NULL; i++) {
p_closesocket(s->s);
}
+ freetree234(sktree);
+ sktree = NULL;
}
p_WSACleanup();
}
Socket sk_new(SockAddr addr, int port, int privport, int oobinline,
- int nodelay, Plug plug)
+ int nodelay, int keepalive, Plug plug)
{
static const struct socket_function_table fn_table = {
sk_tcp_plug,
p_setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (void *) &b, sizeof(b));
}
+ if (keepalive) {
+ BOOL b = TRUE;
+ p_setsockopt(s, SOL_SOCKET, SO_KEEPALIVE, (void *) &b, sizeof(b));
+ }
+
/*
* Bind to local address.
*/
else
return 0;
}
+
+SockAddr platform_get_x11_unix_address(int displaynum, char **canonicalname)
+{
+ SockAddr ret = snew(struct SockAddr_tag);
+ memset(ret, 0, sizeof(struct SockAddr_tag));
+ ret->error = "unix sockets not supported on this platform";
+ return ret;
+}