From: Ken Thomases Subject: [PATCH 2/2] kernel32/tests: Test that ConnectNamedPipe() works immediately after DisconnectNamedPipe() without waiting for the client to close. Message-Id: <1476991911-10119-2-git-send-email-ken@codeweavers.com> Date: Thu, 20 Oct 2016 14:31:51 -0500 In-Reply-To: <1476991911-10119-1-git-send-email-ken@codeweavers.com> References: <1476991911-10119-1-git-send-email-ken@codeweavers.com> Signed-off-by: Ken Thomases --- dlls/kernel32/tests/pipe.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c index cf7e3ba..6c311a4 100644 --- a/dlls/kernel32/tests/pipe.c +++ b/dlls/kernel32/tests/pipe.c @@ -2060,6 +2060,20 @@ static DWORD CALLBACK overlapped_server(LPVOID arg) ok(ret == 1, "ret %d\n", ret); DisconnectNamedPipe(pipe); + + ret = ConnectNamedPipe(pipe, &ol); + err = GetLastError(); + ok(ret == 0, "ret %d\n", ret); + ok(err == ERROR_IO_PENDING, "gle %d\n", err); + CancelIo(pipe); + ret = WaitForSingleObjectEx(ol.hEvent, INFINITE, 1); + ok(ret == WAIT_OBJECT_0, "ret %x\n", ret); + + ret = GetOverlappedResult(pipe, &ol, &num, 1); + err = GetLastError(); + ok(ret == 0, "ret %d\n", ret); + ok(err == ERROR_OPERATION_ABORTED, "gle %d\n", err); + CloseHandle(ol.hEvent); CloseHandle(pipe); return 1; -- 2.8.2