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

Reply via email to