=?UTF-8?Q?Michael=20M=C3=BCller=20?=: server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.

Alexandre Julliard julliard at winehq.org
Wed Jun 11 13:36:22 CDT 2014


Module: wine
Branch: master
Commit: 9602fa7a9317f1bf856fe441dd0aeb7d0cbfa9fd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=9602fa7a9317f1bf856fe441dd0aeb7d0cbfa9fd

Author: Michael Müller <michael at fds-team.de>
Date:   Sat May 31 02:44:36 2014 +0200

server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.

---

 dlls/kernel32/tests/pipe.c |    6 ++++++
 server/named_pipe.c        |    2 +-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/dlls/kernel32/tests/pipe.c b/dlls/kernel32/tests/pipe.c
index b192f96..f7c7531 100644
--- a/dlls/kernel32/tests/pipe.c
+++ b/dlls/kernel32/tests/pipe.c
@@ -60,6 +60,12 @@ static void test_CreateNamedPipe(int pipemode)
         trace("test_CreateNamedPipe starting in byte mode\n");
     else
         trace("test_CreateNamedPipe starting in message mode\n");
+
+    /* Wait for non existing pipe */
+    ret = WaitNamedPipeA(PIPENAME, 2000);
+    ok(ret == 0, "WaitNamedPipe returned %d for non existing pipe\n", ret);
+    ok(GetLastError() == ERROR_FILE_NOT_FOUND, "wrong error %u\n", GetLastError());
+
     /* Bad parameter checks */
     hnp = CreateNamedPipeA("not a named pipe", PIPE_ACCESS_DUPLEX, pipemode | PIPE_WAIT,
         /* nMaxInstances */ 1,
diff --git a/server/named_pipe.c b/server/named_pipe.c
index 4c85104..4b23ba2 100644
--- a/server/named_pipe.c
+++ b/server/named_pipe.c
@@ -900,7 +900,7 @@ static obj_handle_t named_pipe_device_ioctl( struct fd *fd, ioctl_code_t code, c
             name.len = (buffer->NameLength / sizeof(WCHAR)) * sizeof(WCHAR);
             if (!(pipe = (struct named_pipe *)find_object( device->pipes, &name, OBJ_CASE_INSENSITIVE )))
             {
-                set_error( STATUS_PIPE_NOT_AVAILABLE );
+                set_error( STATUS_OBJECT_NAME_NOT_FOUND );
                 return 0;
             }
             if (!(server = find_available_server( pipe )))




More information about the wine-cvs mailing list