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