Subject: Re: bug#32943: grep pattern < fifo fails on Cygwin (and MinGW), but not on Linux

From: Paul Eggert <[email-masked]>
Date: Mon, 8 Oct 2018 08:49:24 -0700

On 10/8/18 12:35 AM, Houder wrote:
> grep terminates with an error on Cygwin because lseek() on Cygwin 
> fails to
> ascertain that it is applied to a FIFO. 

That sounds like a bug in Cygwin, then. Can you find out exactly why it 
occurs, by using GDB within Cygwin? Then you can file a bug report with 
the Cygwin folks.

Possibly the bug is something like the following: grep calls lseek (fd, 
0, SEEK_CUR). The Cygwin lseek implementation asks MS-Windows what the 
file offset is, gets an error because the file descriptor is that of a 
pipe, and somehow turns that into EINVAL. Cygwin should turn it into 
ESPIPE instead.