bug-bash
[Top][All Lists]
Advanced

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

Re: interrupted system call when using named pipes on FreeBSD


From: Lionel Cons
Subject: Re: interrupted system call when using named pipes on FreeBSD
Date: Mon, 4 Feb 2013 13:30:10 +0100

On 30 January 2013 17:48, Chet Ramey <chet.ramey@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



reply via email to

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