OSDN Git Service

tests/tcg/linux-test: Fix random hangs in test_socket
authorIlya Leoshkevich <iii@linux.ibm.com>
Mon, 25 Jul 2022 14:42:51 +0000 (16:42 +0200)
committerThomas Huth <thuth@redhat.com>
Mon, 1 Aug 2022 05:27:56 +0000 (07:27 +0200)
test_socket hangs randomly in connect(), especially when run without
qemu. Apparently the reason is that linux started treating backlog
value of 0 literally instead of rounding it up since v4.4 (commit
ef547f2ac16b).

So set it to 1 instead.

Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Message-Id: <20220725144251.192720-1-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
tests/tcg/multiarch/linux/linux-test.c

index 019d817..5a2a4f2 100644 (file)
@@ -263,7 +263,7 @@ static int server_socket(void)
     sockaddr.sin_port = htons(0); /* choose random ephemeral port) */
     sockaddr.sin_addr.s_addr = 0;
     chk_error(bind(fd, (struct sockaddr *)&sockaddr, sizeof(sockaddr)));
-    chk_error(listen(fd, 0));
+    chk_error(listen(fd, 1));
     return fd;
 
 }