On 11/27/17 4:17 AM, Thiruvadi Rajaraman wrote:
> Hi,
> 
> Found a 'sleep' execution issue with bash loadable builtins and has
> performed
> the below sleep test on bash-4.4-rc1.

That's an interesting one. It looks like the SIGCHLD interrupts the select
loop, even though bash supplies SA_RESTART when installing its SIGCHLD
handler.  It's probably too hard to restart it in general, since select
doesn't necessarily modify its timeval argument when it returns early
(Linux does; many other OSs do not).

There is a problem with your fix in that, in most cases, you've just made
everything that uses this function non-interruptible, especially in an
interactive shell. I think a better fix would be to change fsleep() to cope
with select(2) being interrupted using the bash primitives that deal with
signal and trap handling.

Chet
-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to