server: Do not signal accept bits if there are accept asyncs queued.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
parent
bff228c198
commit
753fbb28d5
|
@ -722,7 +722,7 @@ static void test_poll(void)
|
||||||
ok(!size, "got size %lu\n", size);
|
ok(!size, "got size %lu\n", size);
|
||||||
|
|
||||||
ret = WaitForSingleObject(event, 0);
|
ret = WaitForSingleObject(event, 0);
|
||||||
todo_wine ok(ret == WAIT_TIMEOUT, "got %#x\n", ret);
|
ok(ret == WAIT_TIMEOUT, "got %#x\n", ret);
|
||||||
|
|
||||||
closesocket(server);
|
closesocket(server);
|
||||||
closesocket(client);
|
closesocket(client);
|
||||||
|
|
|
@ -5578,7 +5578,7 @@ static void test_accept_events(struct event_test_ctx *ctx)
|
||||||
ok(ret, "got error %lu\n", GetLastError());
|
ok(ret, "got error %lu\n", GetLastError());
|
||||||
ok(!size, "got size %lu\n", size);
|
ok(!size, "got size %lu\n", size);
|
||||||
|
|
||||||
check_events_todo(ctx, 0, 0, 0);
|
check_events(ctx, 0, 0, 0);
|
||||||
|
|
||||||
closesocket(server);
|
closesocket(server);
|
||||||
closesocket(client);
|
closesocket(client);
|
||||||
|
@ -5587,7 +5587,7 @@ static void test_accept_events(struct event_test_ctx *ctx)
|
||||||
ret = connect(client, (struct sockaddr *)&destaddr, sizeof(destaddr));
|
ret = connect(client, (struct sockaddr *)&destaddr, sizeof(destaddr));
|
||||||
ok(!ret, "got error %u\n", WSAGetLastError());
|
ok(!ret, "got error %u\n", WSAGetLastError());
|
||||||
|
|
||||||
check_events_todo(ctx, FD_ACCEPT, 0, 200);
|
check_events(ctx, FD_ACCEPT, 0, 200);
|
||||||
check_events(ctx, 0, 0, 0);
|
check_events(ctx, 0, 0, 0);
|
||||||
|
|
||||||
server = accept(listener, NULL, NULL);
|
server = accept(listener, NULL, NULL);
|
||||||
|
|
|
@ -990,6 +990,7 @@ static int sock_dispatch_asyncs( struct sock *sock, int event, int error )
|
||||||
if (req->iosb->status == STATUS_PENDING && !req->accepted)
|
if (req->iosb->status == STATUS_PENDING && !req->accepted)
|
||||||
{
|
{
|
||||||
complete_async_accept( sock, req );
|
complete_async_accept( sock, req );
|
||||||
|
event &= ~POLLIN;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue