rc-list - mailing list for the rc(1) shell
 help / color / mirror / Atom feed
* Reentrant runtime systems considered long overdue (sigwinch bug)
@ 1992-04-08  1:52 Scott Schwartz
  0 siblings, 0 replies; only message in thread
From: Scott Schwartz @ 1992-04-08  1:52 UTC (permalink / raw)
  To: rc


Signals are evil.  

It looks like the sigwinch thing is going wrong because, by the time
rc_read returns in fdgchar, errno has been altered by a system
call---stat in this case.  Hence the check for errno==EINTR never works
out, and bad things happen.  The error "No such file or directory"
isn't something read can return.  That's a clue to the real source of
the error, which is the stat call in rc_access, called inside the
interrupt handler when it tries to run e.g. stty and has to check a
number of entries in your path.  That stat call is (in this instance)
the last time errno gets set before the longjmp out of the read in
rc_read.  Tossing an errno=EINTR after the stat mitigates the problem.

-- Scott


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~1992-04-08  1:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1992-04-08  1:52 Reentrant runtime systems considered long overdue (sigwinch bug) Scott Schwartz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).