You are assuming the signal is send to the other processes
in the group first, but that isn't garanteed. The signal
is send to all the processes, including itself. So, it could
happen that the child is getting the signal before the parent,
committing suicide. End of process. No further signals send.
There's an example in man perlipc, but it's sending
the HUP signal instead. In the example, it will first set
$SIG {HUP} to 'IGNORE', then send
the signal.
You should consult Stevens' Advanced Programming in the UNIX
environment.
Abigail