tests/tcg/multiarch/linux/linux-test.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
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>
---
This is a rebase of the previous submission:
https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg00095.html
tests/tcg/multiarch/linux/linux-test.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/tcg/multiarch/linux/linux-test.c b/tests/tcg/multiarch/linux/linux-test.c
index 019d8175ca..5a2a4f2258 100644
--- a/tests/tcg/multiarch/linux/linux-test.c
+++ b/tests/tcg/multiarch/linux/linux-test.c
@@ -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;
}
--
2.35.3
On 25/07/2022 16.42, Ilya Leoshkevich wrote: > 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> > --- > > This is a rebase of the previous submission: > https://lists.gnu.org/archive/html/qemu-devel/2021-06/msg00095.html > > tests/tcg/multiarch/linux/linux-test.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/tests/tcg/multiarch/linux/linux-test.c b/tests/tcg/multiarch/linux/linux-test.c > index 019d8175ca..5a2a4f2258 100644 > --- a/tests/tcg/multiarch/linux/linux-test.c > +++ b/tests/tcg/multiarch/linux/linux-test.c > @@ -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; > > } Not really my turf, but if there are no other takers and no complatins, I can take it through my testing branch: https://gitlab.com/thuth/qemu/-/commits/testing-next Thomas
© 2016 - 2024 Red Hat, Inc.