bug-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Bad file descriptor with coproc and pipe


From: Chet Ramey
Subject: Re: Bad file descriptor with coproc and pipe
Date: Tue, 04 Feb 2014 22:15:36 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

On 2/4/14, 2:34 AM, Michal Sojka wrote:

> Bash Version: 4.2
> Patch Level: 45
> Release Status: release
> 
> Description:
>       The following commands fail:
> 
>           coproc while true; do echo $RANDOM; done
>           cat <&${COPROC[0]} | cat
> 
>       The resulting error message is:
> 
>           bash: ${COPROC[0]}: Bad file descriptor

Bash closes file descriptors associated with coprocs in child processes,
since they are pipes.  It's even more careful when those child processes
are part of pipelines.  It's really a bad idea to have pipe file
descriptors open in multiple processes; that prevents SIGPIPE generation
and EOF on read when one writer exits.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    chet@case.edu    http://cnswww.cns.cwru.edu/~chet/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]