gnunet-svn
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[libmicrohttpd] 01/04: W32 socket pair: set TCP_NODELAY


From: gnunet
Subject: [libmicrohttpd] 01/04: W32 socket pair: set TCP_NODELAY
Date: Sat, 06 Nov 2021 17:42:14 +0100

This is an automated email from the git hooks/post-receive script.

karlson2k pushed a commit to branch master
in repository libmicrohttpd.

commit a507eb93ee1223e29553bffe6822e395297d0d3f
Author: Evgeny Grin (Karlson2k) <k2k@narod.ru>
AuthorDate: Sat Nov 6 15:08:35 2021 +0300

    W32 socket pair: set TCP_NODELAY
    
    Set TCP_NODELAY on both ends of socket pair on W32 to disable
    unwanted buffering
---
 src/microhttpd/mhd_sockets.c | 14 ++++++++++++--
 1 file changed, 12 insertions(+), 2 deletions(-)

diff --git a/src/microhttpd/mhd_sockets.c b/src/microhttpd/mhd_sockets.c
index 0d9826a4..2b8a7f11 100644
--- a/src/microhttpd/mhd_sockets.c
+++ b/src/microhttpd/mhd_sockets.c
@@ -323,17 +323,27 @@ MHD_W32_socket_pair_ (SOCKET sockets_pair[2], int non_blk)
       if ( (0 == getsockname (client_s,
                               (struct sockaddr*) &client_addr,
                               &addr_len)) &&
-           (accepted_from_addr.sin_family == client_addr.sin_family) &&
            (accepted_from_addr.sin_port == client_addr.sin_port) &&
            (accepted_from_addr.sin_addr.s_addr ==
             client_addr.sin_addr.s_addr) &&
+           (accepted_from_addr.sin_family == client_addr.sin_family) &&
            ( (0 != non_blk) ?
              (0 == ioctlsocket (server_s,
                                 (int) FIONBIO,
                                 &on_val)) :
              (0 == ioctlsocket (client_s,
                                 (int) FIONBIO,
-                                &off_val)) ) )
+                                &off_val)) ) &&
+           (0 == setsockopt (server_s,
+                             IPPROTO_TCP,
+                             TCP_NODELAY,
+                             (const void *) (&on_val),
+                             sizeof (on_val))) &&
+           (0 == setsockopt (client_s,
+                             IPPROTO_TCP,
+                             TCP_NODELAY,
+                             (const void *) (&on_val),
+                             sizeof (on_val))) )
       {
         closesocket (listen_s);
         sockets_pair[0] = server_s;

-- 
To stop receiving notification emails like this one, please contact
gnunet@gnunet.org.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]