Reapply a modified r18883 patch (by Thomas Weidenmueller) that doesn't break named pipes.
Modified: trunk/reactos/lib/kernel32/file/pipe.c

Modified: trunk/reactos/lib/kernel32/file/pipe.c
--- trunk/reactos/lib/kernel32/file/pipe.c	2005-11-05 16:08:41 UTC (rev 19017)
+++ trunk/reactos/lib/kernel32/file/pipe.c	2005-11-05 16:11:02 UTC (rev 19018)
@@ -59,6 +59,10 @@
 	  Attributes |= OBJ_INHERIT;
      }
 
+   /* use default buffer size if desired */
+   if (nSize == 0)
+      nSize = 0x1000;
+
    InitializeObjectAttributes(&ObjectAttributes,
 			      &PipeName,
 			      Attributes,
@@ -66,7 +70,7 @@
 			      SecurityDescriptor);
 
    Status = NtCreateNamedPipeFile(&ReadPipeHandle,
-				  FILE_GENERIC_READ,
+				  FILE_GENERIC_READ |FILE_WRITE_ATTRIBUTES | SYNCHRONIZE,
 				  &ObjectAttributes,
 				  &StatusBlock,
 				  FILE_SHARE_READ | FILE_SHARE_WRITE,
@@ -86,10 +90,10 @@
      }
 
    Status = NtOpenFile(&WritePipeHandle,
-		       FILE_GENERIC_WRITE,
+		       FILE_GENERIC_WRITE | SYNCHRONIZE,
 		       &ObjectAttributes,
 		       &StatusBlock,
-		       0,
+		       FILE_SHARE_READ | FILE_SHARE_WRITE,
 		       FILE_SYNCHRONOUS_IO_NONALERT | FILE_NON_DIRECTORY_FILE);
    if (!NT_SUCCESS(Status))
      {