1
0
mirror of https://github.com/wine-mirror/wine synced 2024-07-08 03:45:57 +00:00

server: Cancel pipe asyncs when the last handle in process is closed.

This commit is contained in:
Paul Gofman 2023-07-14 20:21:50 -06:00 committed by Alexandre Julliard
parent 57095a91b0
commit 03c1930b74
2 changed files with 6 additions and 3 deletions

View File

@ -3067,9 +3067,12 @@ static void test_async_cancel_on_handle_close(void)
ok(bret, "failed, error %lu.\n", GetLastError());
CloseHandle(read);
/* Canceled asyncs with completion port and no event do not update IOSB before removing completion. */
todo_wine_if(other_process && tests[i].apc_context && !tests[i].event)
ok(io.Status == 0xcccccccc, "got %#lx.\n", io.Status);
if (other_process && tests[i].apc_context && !tests[i].event)
todo_wine test_queued_completion(port, &io, STATUS_CANCELLED, 0);
test_queued_completion(port, &io, STATUS_CANCELLED, 0);
else
test_no_queued_completion(port);

View File

@ -179,7 +179,7 @@ static const struct object_ops pipe_server_ops =
NULL, /* unlink_name */
pipe_server_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
no_close_handle, /* close_handle */
async_close_obj_handle, /* close_handle */
pipe_server_destroy /* destroy */
};
@ -223,7 +223,7 @@ static const struct object_ops pipe_client_ops =
NULL, /* unlink_name */
no_open_file, /* open_file */
no_kernel_obj_list, /* get_kernel_obj_list */
no_close_handle, /* close_handle */
async_close_obj_handle, /* close_handle */
pipe_end_destroy /* destroy */
};