From b4609ec199432327d678f2aee05503a95a5505f2 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Wed, 29 Dec 2021 15:45:57 -0600 Subject: [PATCH] ws2_32/tests: Test selecting the same socket twice. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/ws2_32/tests/sock.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/dlls/ws2_32/tests/sock.c b/dlls/ws2_32/tests/sock.c index 5e16343a577..d4db48d1861 100644 --- a/dlls/ws2_32/tests/sock.c +++ b/dlls/ws2_32/tests/sock.c @@ -3272,6 +3272,16 @@ static void test_select(void) ok(ret == 1, "select returned %d\n", ret); ok(FD_ISSET(fdWrite, &writefds), "fdWrite socket is not in the set\n"); + /* select the same socket twice */ + writefds.fd_count = 2; + writefds.fd_array[0] = fdWrite; + writefds.fd_array[1] = fdWrite; + ret = select(0, NULL, &writefds, NULL, &select_timeout); + ok(ret == 1, "select returned %d\n", ret); + ok(writefds.fd_count == 1, "got count %u\n", writefds.fd_count); + ok(writefds.fd_array[0] == fdWrite, "got fd %#Ix\n", writefds.fd_array[0]); + ok(writefds.fd_array[1] == fdWrite, "got fd %#Ix\n", writefds.fd_array[1]); + /* tests for overlapping fd_set pointers */ FD_ZERO(&readfds); FD_SET(fdWrite, &readfds);