ConnectNamedPipe must return TRUE if lpOverlapped is not NULL and NtFsIoControl returns STATUS_PENDING.
Modified: trunk/reactos/lib/kernel32/file/npipe.c

Modified: trunk/reactos/lib/kernel32/file/npipe.c
--- trunk/reactos/lib/kernel32/file/npipe.c	2005-02-27 14:55:01 UTC (rev 13764)
+++ trunk/reactos/lib/kernel32/file/npipe.c	2005-02-27 15:46:46 UTC (rev 13765)
@@ -330,6 +330,9 @@
 			   0,
 			   NULL,
 			   0);
+  if ((lpOverlapped != NULL) && (Status == STATUS_PENDING))
+    return TRUE;
+
   if ((lpOverlapped == NULL) && (Status == STATUS_PENDING))
     {
       Status = NtWaitForSingleObject(hNamedPipe,
@@ -338,17 +341,19 @@
       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;
 }