4.2 progressive or dead end - (nf)
mwm at ea.UUCP
mwm at ea.UUCP
Fri Apr 20 07:40:00 AEST 1984
#R:sask:-3400:ea:13500014:000:1003
ea!mwm Apr 19 15:40:00 1984
/***** ea:net.unix-wizar / idis!dan / 8:07 am Apr 16, 1984 */
The "brouhaha about signals in 4.2BSD" is not unwarranted.
The interruption of a system call by a signal was useful behavior
for which 4.2bsd provides no good substitute. It is damn near
impossible to simulate the old behavior and the only other way
to avoid restarting a system call is to (yecchh) longjump.
Dan Strick
[decvax|mcnc]!idis!dan
/* ---------- */
Partially false. The only case I can think of where you actually want a
system call interrupted (as opposed to continuing cleanly) is read/write.
For those, select(2) does almost exactly what you want. Occasionally, it'll
even be closer than read/write. It is ugly as sin, but that's a small price
to pay for not having to worry about whether or not I was in a system call
when the signal came.
I prefer the way berkeley did it. If only they'd done a thorough job of it,
and gotten *all* the gotchas out of the signal mechanism, instead of just
most of them.
<mike
More information about the Comp.unix.wizards
mailing list