From 62cc58a2589b136176d4bb49ba19cab7fa76f8f8 Mon Sep 17 00:00:00 2001 From: Laurent Bercot Date: Fri, 29 Aug 2025 20:54:24 +0000 Subject: Add socket_tcpdelay Signed-off-by: Laurent Bercot --- NEWS | 2 +- doc/upgrade.html | 3 ++- package/deps.mak | 1 + src/include/skalibs/socket.h | 1 + src/libstddjb/socket_tcpdelay.c | 15 +++++++++++++++ src/libstddjb/socket_tcpnodelay.c | 4 ++-- 6 files changed, 22 insertions(+), 4 deletions(-) create mode 100644 src/libstddjb/socket_tcpdelay.c diff --git a/NEWS b/NEWS index 346beeb..4a52d3b 100644 --- a/NEWS +++ b/NEWS @@ -8,7 +8,7 @@ In 2.14.5.0 - crc32c implementation: skalibs/crc32c.h - new skalibs/prog.h header for PROG modifications - new functions: symlink_at, mkdirp, mkdirp2, mkntemp, - atomic_symlink4, qsortr, env_dump4 + atomic_symlink4, qsortr, env_dump4, socket_tcpdelay In 2.14.4.0 diff --git a/doc/upgrade.html b/doc/upgrade.html index e9d30cd..1536a04 100644 --- a/doc/upgrade.html +++ b/doc/upgrade.html @@ -22,7 +22,8 @@
  • Support for shared libraries on MacOS
  • New skalibs/prog.h header, for PROG modifications
  • New functions: crc32c, symlink_at, mkdirp, -atomic_symlink4, mkdirp2, mkntemp, qsortr, env_dump4
  • +atomic_symlink4, mkdirp2, mkntemp, qsortr, +env_dump4, socket_tcpdelay

    in 2.14.4.0

    diff --git a/package/deps.mak b/package/deps.mak index 420fb67..dbf3401 100644 --- a/package/deps.mak +++ b/package/deps.mak @@ -570,6 +570,7 @@ src/libstddjb/socket_send4.o src/libstddjb/socket_send4.lo: src/libstddjb/socket src/libstddjb/socket_send6.o src/libstddjb/socket_send6.lo: src/libstddjb/socket_send6.c src/include/skalibs/ip46.h src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/include/skalibs/uint16.h src/libstddjb/socket_tcp4.o src/libstddjb/socket_tcp4.lo: src/libstddjb/socket_tcp4.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_tcp6.o src/libstddjb/socket_tcp6.lo: src/libstddjb/socket_tcp6.c src/include/skalibs/djbunix.h src/include/skalibs/ip46.h src/include/skalibs/nonposix.h src/include/skalibs/socket.h +src/libstddjb/socket_tcpdelay.o src/libstddjb/socket_tcpdelay.lo: src/libstddjb/socket_tcpdelay.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_tcpnodelay.o src/libstddjb/socket_tcpnodelay.lo: src/libstddjb/socket_tcpnodelay.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h src/libstddjb/socket_timeoutconn.o src/libstddjb/socket_timeoutconn.lo: src/libstddjb/socket_timeoutconn.c src/include/skalibs/socket.h src/include/skalibs/tai.h src/libstddjb/socket_tryreservein.o src/libstddjb/socket_tryreservein.lo: src/libstddjb/socket_tryreservein.c src/include/skalibs/nonposix.h src/include/skalibs/socket.h diff --git a/src/include/skalibs/socket.h b/src/include/skalibs/socket.h index f13b2ee..944fdd0 100644 --- a/src/include/skalibs/socket.h +++ b/src/include/skalibs/socket.h @@ -156,6 +156,7 @@ extern int socket_remote6 (int, char *, uint16_t *) ; extern int socket_ipoptionskill (int) ; extern int socket_tcpnodelay (int) ; +extern int socket_tcpdelay (int) ; extern void socket_tryreservein (int, unsigned int) ; diff --git a/src/libstddjb/socket_tcpdelay.c b/src/libstddjb/socket_tcpdelay.c new file mode 100644 index 0000000..8f1c026 --- /dev/null +++ b/src/libstddjb/socket_tcpdelay.c @@ -0,0 +1,15 @@ +/* ISC license. */ + +#include + +#include +#include +#include + +#include + +int socket_tcpdelay (int s) +{ + static int const val = 0 ; + return setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)) ; +} diff --git a/src/libstddjb/socket_tcpnodelay.c b/src/libstddjb/socket_tcpnodelay.c index 5ea10b0..8880af4 100644 --- a/src/libstddjb/socket_tcpnodelay.c +++ b/src/libstddjb/socket_tcpnodelay.c @@ -10,6 +10,6 @@ int socket_tcpnodelay (int s) { - static int const opt = TCP_NODELAY ; - return setsockopt(s, IPPROTO_TCP, 1, &opt, sizeof(int)) ; + static int const val = 1 ; + return setsockopt(s, IPPROTO_TCP, TCP_NODELAY, &val, sizeof(int)) ; } -- cgit v1.3.1