On Fri, 5 Jun 2020, Dan Cross wrote:
Was it Rob who said that signals were really just for
SIGKILL? Here,
signals would be gang-pressed into service as a general IPC mechanism.
In fairness, they've mutated that way, but they didn't start out that
way. While I obviously wasn't there, the strong impression I get is that
by the time people were seriously thinking about async IO in Unix, the
die had already been cast for better or worse.
I will quite happily strangle anyone who uses signals for IPC.
Why?
I got bitten quite badly by that, if anyone here remembers BSD/OS... It
seemed that "fdump" forked off several kiddies, and they chatted amongst
themselves using signals.
Anyway, let's just say that after a disk crash this was a poor time to
discover that *some* of my backups were screwed in a weird way; for
example, there was a 1/4" QIC[*] tape with files, but no inodes to put
them into their corresponding home directories...
I wrote something to extract whatever I could, excavate what I could, and
then either rebuild or rely upon memory from there. Not fun.
Did I mention that I will quite happily strangle anyone who uses signals
for IPC? Signals mean "stop what you're doing now, do this instead, then
hopefully go back to whatever you thought you were doing".
[*]
Don't ask me about those !@#$% QIC tapes, that chose to use whatever
density they wished depending upon the phase of the moon etc.
-- Dave, who lost a lot of valuable files that day