Module: wine Branch: master Commit: e85f0e0c3b5b542a2f9cc527976d470445c96166 URL: http://source.winehq.org/git/wine.git/?a=commit;h=e85f0e0c3b5b542a2f9cc52797...
Author: Ken Thomases ken@codeweavers.com Date: Thu Oct 20 14:31:51 2016 -0500
kernel32/tests: Test that ConnectNamedPipe() works immediately after DisconnectNamedPipe() without waiting for the client to close.
Signed-off-by: Ken Thomases ken@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
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;