BUG: When handing the child stdin pipe a file, allow another process to be writing to the file at the same time. This allows children such as tail -f to function properly.

This commit is contained in:
Brad King 2006-07-17 13:34:00 -04:00
parent 2bf97089ba
commit 94bf03319b
1 changed files with 3 additions and 2 deletions

View File

@ -1593,8 +1593,9 @@ int kwsysProcessCreate(kwsysProcess* cp, int index,
else if(cp->PipeFileSTDIN)
{
/* Create a handle to read a file for stdin. */
HANDLE fin = CreateFile(cp->PipeFileSTDIN, GENERIC_READ,
FILE_SHARE_READ, 0, OPEN_EXISTING, 0, 0);
HANDLE fin = CreateFile(cp->PipeFileSTDIN, GENERIC_READ|GENERIC_WRITE,
FILE_SHARE_READ|FILE_SHARE_WRITE,
0, OPEN_EXISTING, 0, 0);
if(fin == INVALID_HANDLE_VALUE)
{
return 0;