Regression (last snapshot)

Eric Blake
Thu Aug 1 15:38:00 GMT 2019

On 8/1/19 10:30 AM, Ken Brown wrote:

>>> OK, when xwin-xdg-menu launches an application, it creates two pipes 
>>> and sets
>>> the application's stdout and stderr to the write ends of those pipes.  

> Well, I can't be sure that the pipes are responsible.  It's just that 
> the existence of the pipes is the only difference I could spot between 
> an ordinary terminal and a terminal started from xwin-xdg-menu.
> Is it possible that the logging somehow slows things down or changes the 
> buffering, so that the grep process takes longer to complete?  This 
> would be consistent with my theory that the broken pipe error doesn't 
> really represent a bug, but rather it reflects the fact that ls exits 
> before grep has finished writing.

Could it be a case of xwin-xdg-menu calling signal(SIGPIPE, SIG_IGN) or
similar, and accidentally letting grep inherit the ignored SIGPIPE?
When SIGPIPE is not ignored, grep's failure to write to a pipe causes
termination before the failed write completes; but when it is ignored,
grep sees EPIPE from the failed write and reports that.

Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization: |

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <>

More information about the Cygwin mailing list