[libc-commits] [libc] [llvm] [libc] Add TCP socket options to <netinet/tcp.h> (PR #236121)

Pavel Labath via libc-commits libc-commits at lists.llvm.org
Thu Oct 29 00:37:51 PDT 2026


================
@@ -83,6 +85,40 @@ TEST_F(LlvmLibcSocketOptTest, BasicSocketOpt) {
   ASSERT_EQ(optlen, static_cast<socklen_t>(sizeof(lin)));
 }
 
+TEST_F(LlvmLibcSocketOptTest, TcpSocketOpt) {
+  static_assert(SOL_TCP == IPPROTO_TCP);
+
+  int sock = LIBC_NAMESPACE::socket(AF_INET, SOCK_STREAM, 0);
+  ASSERT_GE(sock, 0);
+  scope_exit close_sock(
+      [&] { ASSERT_THAT(LIBC_NAMESPACE::close(sock), Succeeds(0)); });
+
+  int optval = 1;
+  socklen_t optlen = sizeof(optval);
+  ASSERT_THAT(
+      LIBC_NAMESPACE::setsockopt(sock, SOL_TCP, TCP_NODELAY, &optval, optlen),
+      Succeeds(0));
+
+  optval = 0;
+  ASSERT_THAT(
+      LIBC_NAMESPACE::getsockopt(sock, SOL_TCP, TCP_NODELAY, &optval, &optlen),
+      Succeeds(0));
+  ASSERT_EQ(optval, 1);
+  ASSERT_EQ(optlen, static_cast<socklen_t>(sizeof(optval)));
----------------
labath wrote:

Done.

https://github.com/llvm/llvm-project/pull/236121


More information about the libc-commits mailing list