This is the mail archive of the
cygwin-developers
mailing list for the Cygwin project.
About bidirectional named pipes (FIFO)
- From: Michael Haubenwallner <michael dot haubenwallner at ssi-schaefer dot com>
- To: cygwin-developers at cygwin dot com
- Date: Tue, 12 Apr 2016 10:51:32 +0200
- Subject: About bidirectional named pipes (FIFO)
- Authentication-results: sourceware.org; auth=none
Hi,
I'm encountering problems with some multi-processing bash script
that boils down to:
$ bash -c '
rm -f /tmp/testpipe.$$
trap "rm -f /tmp/testpipe.$$" EXIT
mkfifo /tmp/testpipe.$$
exec {fw}<>/tmp/testpipe.$$
exec {fr}<>/tmp/testpipe.$$
for x in {1..10}
do
(
trap "echo job $x pid \$BASHPID status \$? done >& $fw" EXIT
exit $x
) &
done
for z in {1..10}
do
read -u $fr
echo $REPLY
done
wait
'
Agreed, POSIX does not define behaviour for using '<>' with fifos,
but it works with AIX, *BSD, HP-UX, Interix, Linux, Solaris, ...
Thoughts?
/haubi/