On 30 January 2013 17:48, Chet Ramey <chet.ra...@case.edu> wrote: >> 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. > > It seems like implementations are buggy enough that bash needs to do > something to work around them, but this isn't exactly it. > > The issue with the proposed patch is that it would make it impossible to > interrupt an open using, say, ^C. There needs to be a check for signals > in there somewhere. I'll fix it.
Question is whether such buggy platforms like Solaris should be supported at all by bash. Oracle refuses to make such patches available in/for the public, meaning that the average system will suffer from this permanently. Lionel