weiden@svn.reactos.com wrote:
fix some flags calculations and access rights in CreateNamedPipe and CreatePipe Modified: trunk/reactos/lib/kernel32/file/pipe.c
*Modified: trunk/reactos/lib/kernel32/file/pipe.c* --- trunk/reactos/lib/kernel32/file/pipe.c 2005-10-30 13:55:28 UTC (rev 18882) +++ trunk/reactos/lib/kernel32/file/pipe.c 2005-10-30 14:51:12 UTC (rev 18883) @@ -86,10 +89,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)) {
This change does break the using of pipes which are created by CreatePipe. Usually it isn't necessary to open the end of the pipe in share mode. Each opening request generates a new instance of a pipe. FILE_SHARE_READ doesn't make sense, because this pipe-end is opened for write access. If FILE_SHARE_READ|FILE_SHARE_WRITE is used, npfs.sys interprets it as a special value and doesn't connect the pipe. This breaks compiling ros on ros.
- Hartmut