server: Cancel pipe asyncs when the last handle in process is closed.
This commit is contained in:
parent
57095a91b0
commit
03c1930b74
2 changed files with 6 additions and 3 deletions
|
@ -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);
|
||||
|
||||
|
|
|
@ -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 */
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue