do_signal_stop — handle group stop for SIGSTOP and other stop signals
bool do_signal_stop ( | int signr) ; |
If JOBCTL_STOP_PENDING
is not set yet, initiate group stop with signr
and participate in it. If already set, participate in the existing
group stop. If participated in a group stop (and thus slept), true
is
returned with siglock released.
If ptraced, this function doesn't handle stop itself. Instead,
JOBCTL_TRAP_STOP
is scheduled and false
is returned with siglock
untouched. The caller must ensure that INTERRUPT trap handling takes
places afterwards.