Commit ecca1048 authored by Vitaliy Margolen's avatar Vitaliy Margolen Committed by Alexandre Julliard

Fix error returned when exceeding allowed instances.

parent ac6c7a9a
...@@ -109,7 +109,7 @@ void test_namespace_pipe(void) ...@@ -109,7 +109,7 @@ void test_namespace_pipe(void)
status = pNtCreateNamedPipeFile(&pipe, GENERIC_READ|GENERIC_WRITE, &attr, &iosb, FILE_SHARE_READ|FILE_SHARE_WRITE, status = pNtCreateNamedPipeFile(&pipe, GENERIC_READ|GENERIC_WRITE, &attr, &iosb, FILE_SHARE_READ|FILE_SHARE_WRITE,
FILE_CREATE, FILE_PIPE_FULL_DUPLEX, FALSE, FALSE, FALSE, 1, 256, 256, &timeout); FILE_CREATE, FILE_PIPE_FULL_DUPLEX, FALSE, FALSE, FALSE, 1, 256, 256, &timeout);
todo_wine ok(status == STATUS_INSTANCE_NOT_AVAILABLE, ok(status == STATUS_INSTANCE_NOT_AVAILABLE,
"NtCreateNamedPipeFile should have failed with STATUS_INSTANCE_NOT_AVAILABLE got(%08lx)\n", status); "NtCreateNamedPipeFile should have failed with STATUS_INSTANCE_NOT_AVAILABLE got(%08lx)\n", status);
pRtlInitUnicodeString(&str, buffer2); pRtlInitUnicodeString(&str, buffer2);
......
...@@ -562,10 +562,9 @@ DECL_HANDLER(create_named_pipe) ...@@ -562,10 +562,9 @@ DECL_HANDLER(create_named_pipe)
} }
else else
{ {
set_error( 0 ); /* clear the name collision */
if (pipe->maxinstances <= pipe->instances) if (pipe->maxinstances <= pipe->instances)
{ {
set_error( STATUS_PIPE_BUSY ); set_error( STATUS_INSTANCE_NOT_AVAILABLE );
release_object( pipe ); release_object( pipe );
return; return;
} }
...@@ -577,6 +576,7 @@ DECL_HANDLER(create_named_pipe) ...@@ -577,6 +576,7 @@ DECL_HANDLER(create_named_pipe)
release_object( pipe ); release_object( pipe );
return; return;
} }
set_error( 0 ); /* clear the name collision */
} }
server = create_pipe_server( pipe, req->options ); server = create_pipe_server( pipe, req->options );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment