Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > gnu.bash.bug > #14940
| From | Chet Ramey <chet.ramey@case.edu> |
|---|---|
| Newsgroups | gnu.bash.bug |
| Subject | Re: write() not retried after EINTR in printf and echo |
| Date | 2018-12-21 14:57 -0500 |
| Message-ID | <mailman.6074.1545422277.1284.bug-bash@gnu.org> (permalink) |
| References | <CAFra36hm9XcAgwqr7Yp_giX+kiSEp__x4Mc5Qn=eqgUdSdLA7Q@mail.gmail.com> <eefa8e88-104a-1fd3-b505-a279778ba291@case.edu> <CAFra36izjDTTFBsRfzsgCr8YGk+n=7O=FiMVX=ivuh5Ejw5MAQ@mail.gmail.com> |
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/
Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread
Re: write() not retried after EINTR in printf and echo Chet Ramey <chet.ramey@case.edu> - 2018-12-21 14:57 -0500
csiph-web