X-Git-Url: https://git.distorted.org.uk/u/mdw/putty/blobdiff_plain/7732d38a31d3215b26ab12e006b5bd4fda938718..41d3adbbfed77605e4a397ce199c5751c35bf94b:/winnet.c diff --git a/winnet.c b/winnet.c index 8e1c2a1d..1663148f 100644 --- a/winnet.c +++ b/winnet.c @@ -439,7 +439,7 @@ Socket sk_register(void *sock, Plug plug) } Socket sk_new(SockAddr addr, int port, int privport, int oobinline, - Plug plug) + int nodelay, Plug plug) { static struct socket_function_table fn_table = { sk_tcp_plug, @@ -494,6 +494,11 @@ Socket sk_new(SockAddr addr, int port, int privport, int oobinline, setsockopt(s, SOL_SOCKET, SO_OOBINLINE, (void *) &b, sizeof(b)); } + if (nodelay) { + BOOL b = TRUE; + setsockopt(s, IPPROTO_TCP, TCP_NODELAY, (void *) &b, sizeof(b)); + } + /* * Bind to local address. */ @@ -964,7 +969,7 @@ int select_result(WPARAM wParam, LPARAM lParam) memset(&isa, 0, sizeof(struct sockaddr_in)); err = 0; - t = accept(s->s,&isa,&addrlen); + t = accept(s->s,(struct sockaddr *)&isa,&addrlen); if (t == INVALID_SOCKET) { err = WSAGetLastError();