mirror of
git://source.winehq.org/git/wine.git
synced 2024-10-06 08:54:05 +00:00
server: Cancel pipe asyncs when the last handle in process is closed.
This commit is contained in:
parent
57095a91b0
commit
03c1930b74
|
@ -3067,9 +3067,12 @@ static void test_async_cancel_on_handle_close(void)
|
||||||
ok(bret, "failed, error %lu.\n", GetLastError());
|
ok(bret, "failed, error %lu.\n", GetLastError());
|
||||||
|
|
||||||
CloseHandle(read);
|
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);
|
ok(io.Status == 0xcccccccc, "got %#lx.\n", io.Status);
|
||||||
|
|
||||||
if (other_process && tests[i].apc_context && !tests[i].event)
|
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
|
else
|
||||||
test_no_queued_completion(port);
|
test_no_queued_completion(port);
|
||||||
|
|
||||||
|
|
|
@ -179,7 +179,7 @@ static const struct object_ops pipe_server_ops =
|
||||||
NULL, /* unlink_name */
|
NULL, /* unlink_name */
|
||||||
pipe_server_open_file, /* open_file */
|
pipe_server_open_file, /* open_file */
|
||||||
no_kernel_obj_list, /* get_kernel_obj_list */
|
no_kernel_obj_list, /* get_kernel_obj_list */
|
||||||
no_close_handle, /* close_handle */
|
async_close_obj_handle, /* close_handle */
|
||||||
pipe_server_destroy /* destroy */
|
pipe_server_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -223,7 +223,7 @@ static const struct object_ops pipe_client_ops =
|
||||||
NULL, /* unlink_name */
|
NULL, /* unlink_name */
|
||||||
no_open_file, /* open_file */
|
no_open_file, /* open_file */
|
||||||
no_kernel_obj_list, /* get_kernel_obj_list */
|
no_kernel_obj_list, /* get_kernel_obj_list */
|
||||||
no_close_handle, /* close_handle */
|
async_close_obj_handle, /* close_handle */
|
||||||
pipe_end_destroy /* destroy */
|
pipe_end_destroy /* destroy */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue