* 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).