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