This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: restartable system calls under Linux
Gary Houston wrote:
>
> > From: "Dale P. Smith" <dpsm@en.com>
> > Date: Tue, 13 Jun 2000 16:17:56 -0400
> >
> > Well, a simple read() seems to be restartable. I suspect that readline is doing something magic. Does anyone with more experience than I in unix terminal i/o with readline interaction care to offer
> > any suggestions?
>
> I think you are on to something here. It probably has something to
> do with readline: a) I don't have readline enabled and I don't see the
> problem b) I tried booting a linux 2.2 kernel and it made no difference
> c) grepping the readline 4.0 sources for SIGWINCH shows some suspicious
> sigaction calls.
It *is* something in readline. The bug does not appear if I don't call activate-readline. What puzzles me is that SA_RESTART appears to always be set.
(= (logand (cdr (sigaction SIGWINCH)) SA_RESTART) SA_RESTART)
Always returns #t
> Maybe a solution would be to reset the SA_RESTART flag on the SIGWINCH
> handler as part of the readline enabling process?
In C or Scheme?
-Dale
--
Dale P. Smith
Altus Technologies Corp.
dsmith@altustech.com
400-746-9000 x309