[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
interrupted system call when using named pipes on FreeBSD
From: |
Mike Frysinger |
Subject: |
interrupted system call when using named pipes on FreeBSD |
Date: |
Fri, 18 Jan 2013 01:30:22 -0500 |
User-agent: |
KMail/1.13.7 (Linux/3.7.1; KDE/4.6.5; x86_64; ; ) |
this is somewhat a continuation of this thread:
http://lists.gnu.org/archive/html/bug-bash/2008-10/msg00091.html
i've gotten more or less the same report in Gentoo:
http://bugs.gentoo.org/447810
the simple test case is:
$ cat test.sh
#!/bin/bash
while :; do
(:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)& (:)&
while read x ; do : ; done < <(echo foo)
done
execute `./test.sh` and we see failures pretty much all the time.
a simple patch to workaround/fix the issue by Yuta SATOH:
--- bash-4.2/redir.c
+++ bash-4.2/redir.c
@@ -632,7 +632,9 @@
}
else
{
- fd = open (filename, flags, mode);
+ do {
+ fd = open (filename, flags, mode);
+ } while ((fd < 0) && (errno == EINTR));
#if defined (AFS)
if ((fd < 0) && (errno == EACCES))
{
but we're not sure if this is the route to take ? seems like if bash is
handling SIGCHLD, there's no avoiding this sort of check.
-mike
signature.asc
Description: This is a digitally signed message part.
- interrupted system call when using named pipes on FreeBSD,
Mike Frysinger <=