bug-bash
[Top][All Lists]
Advanced

[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

Attachment: signature.asc
Description: This is a digitally signed message part.


reply via email to

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