UNIX IPC
fostel at ncsu.UUCP
fostel at ncsu.UUCP
Mon Sep 19 08:06:59 AEST 1983
This may seem an un-wizardly question, but why is the signal / kill
mechanism not suitable for a low bandwidth, simplememinded IPC system?
Yes, I know that certain "features" allow windows of vulnerablity; I'm
assuming I would close such windows by making the state after reception
of a signal be to ignore signals rather than die. Thus I might lose
a subsequent signal, but it would not damage me (or my process). With
any sort of reasonable handshake, such a lost signal would be quite a
tolerable thing. SO, in this context why are signals unsuitable? I can
imagine a multi-headed/tailed pipe shared among many children with reader
and writer notified of their duty via a signal. Again, you must presume
a nice set of procs to do the dirty work so it would not seem so kludgy
to the application. Aside from the low performance, is there a reason why
this would fail? And why oh why, history buffs, does the state after a
signal reception revert to vulnerable rather than ignore? Forgive me
if there is some good reason you all know and I would know too if I had
spent my requisit time on top of a mountain of Pdp-11s.
To anyone reading this and getting ideas, it really is true that you should
not use signals for IPC -- you will regret the attempt unless you correct
a few features in the kernal. But I wonder if the sematics are really so
unsuitable as to call it hitting a nail with a wrench. Seem more like
hitting a nail with a hammer which has a loose head piece that is designed
to fly off after one whack on the nail.
----GaryFostel----
More information about the Comp.unix.wizards
mailing list