Jacek Caban : server: Signal pipe server fd in create_pipe_server.
Alexandre Julliard
julliard at winehq.org
Fri Dec 2 17:00:09 CST 2016
Module: wine
Branch: master
Commit: d8bfbbdc07f7562e8ab3283ac160f94b428ade75
URL: http://source.winehq.org/git/wine.git/?a=commit;h=d8bfbbdc07f7562e8ab3283ac160f94b428ade75
Author: Jacek Caban <jacek at codeweavers.com>
Date: Fri Dec 2 13:37:59 2016 +0100
server: Signal pipe server fd in create_pipe_server.
Signed-off-by: Jacek Caban <jacek at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
dlls/kernel32/tests/pipe.c | 8 ++++++++
server/named_pipe.c | 1 +
2 files changed, 9 insertions(+)
diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index 6c311a4..28bac91 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -110,6 +110,13 @@ static BOOL RpcReadFile(HANDLE hFile, LPVOID buffer, DWORD bytesToRead, LPDWORD
return (BOOL)rpcargs.returnValue;
}
+#define test_signaled(h) _test_signaled(__LINE__,h)
+static void _test_signaled(unsigned line, HANDLE handle)
+{
+ DWORD res = WaitForSingleObject(handle, 0);
+ ok_(__FILE__,line)(res == WAIT_OBJECT_0, "WaitForSingleObject returned %u\n", res);
+}
+
static void test_CreateNamedPipe(int pipemode)
{
HANDLE hnp;
@@ -176,6 +183,7 @@ static void test_CreateNamedPipe(int pipemode)
/* nDefaultWait */ NMPWAIT_USE_DEFAULT_WAIT,
/* lpSecurityAttrib */ NULL);
ok(hnp != INVALID_HANDLE_VALUE, "CreateNamedPipe failed\n");
+ test_signaled(hnp);
ret = WaitNamedPipeA(PIPENAME, 2000);
ok(ret, "WaitNamedPipe failed (%d)\n", GetLastError());
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 55d05c1..d93c40f 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -690,6 +690,7 @@ static struct pipe_server *create_pipe_server( struct named_pipe *pipe, unsigned
release_object( server );
return NULL;
}
+ set_fd_signaled( server->ioctl_fd, 1 );
set_server_state( server, ps_idle_server );
return server;
}
More information about the wine-cvs
mailing list