Ken Thomases : kernel32/tests: Test that ConnectNamedPipe() works immediately after DisconnectNamedPipe() without waiting for the client to close.
Alexandre Julliard
julliard at winehq.org
Sun Oct 23 13:24:14 CDT 2016
Module: wine
Branch: master
Commit: e85f0e0c3b5b542a2f9cc527976d470445c96166
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e85f0e0c3b5b542a2f9cc527976d470445c96166
Author: Ken Thomases <ken at 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 at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at 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;
More information about the wine-cvs
mailing list