bug-bash
[Top][All Lists]
Advanced

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

Re: write() not retried after EINTR in printf and echo


From: Chet Ramey
Subject: Re: write() not retried after EINTR in printf and echo
Date: Fri, 21 Dec 2018 14:57:49 -0500
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:60.0) Gecko/20100101 Thunderbird/60.3.3

On 12/19/18 10:15 PM, Bize Ma wrote:
> Chet Ramey (<chet.ramey@case.edu <mailto:chet.ramey@case.edu>>) wrote:
> 
>     And yet, when you look at the source, the signal handlers are installed
>     with SA_RESTART. For example,
> 
>  
> 
>     #  if defined (SIGWINCH)
>       act.sa_flags = (sig == SIGWINCH) ? SA_RESTART : 0;
>     #  else
>       act.sa_flags = 0;
>     #  endif /* SIGWINCH */
> 
>     in lib/readline/signals.c:rl_set_sighandler().
> 
> 
> True for SIGWINCH, but "write error: Interrupted system call"
> is still exposed to users (which it shouldn't) for other signals:

Ah, now we're moving the goalposts. There's a case to be made for doing
that, I suppose, but I'd rather defer to the system's default handling
for a particular signal.

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



reply via email to

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