ConnectNamedPipe must return TRUE if lpOverlapped is not NULL and NtFsIoControl retur...
authorEric Kohl <eric.kohl@reactos.org>
Sun, 27 Feb 2005 15:46:46 +0000 (15:46 +0000)
committerEric Kohl <eric.kohl@reactos.org>
Sun, 27 Feb 2005 15:46:46 +0000 (15:46 +0000)
svn path=/trunk/; revision=13765

reactos/lib/kernel32/file/npipe.c

index 32a8e7d..687888b 100644 (file)
@@ -330,6 +330,9 @@ ConnectNamedPipe(HANDLE hNamedPipe,
                           0,
                           NULL,
                           0);
+  if ((lpOverlapped != NULL) && (Status == STATUS_PENDING))
+    return TRUE;
+
   if ((lpOverlapped == NULL) && (Status == STATUS_PENDING))
     {
       Status = NtWaitForSingleObject(hNamedPipe,
@@ -338,17 +341,19 @@ ConnectNamedPipe(HANDLE hNamedPipe,
       if (!NT_SUCCESS(Status))
        {
          SetLastErrorByStatus(Status);
-         return(FALSE);
+         return FALSE;
        }
       Status = Iosb.Status;
     }
+
   if ((!NT_SUCCESS(Status) && Status != STATUS_PIPE_CONNECTED) ||
       (Status == STATUS_PENDING))
     {
       SetLastErrorByStatus(Status);
-      return(FALSE);
+      return FALSE;
     }
-  return(TRUE);
+
+  return TRUE;
 }