> We already discussed this, this is not so important, but how about
>
> void recalc_sigpending_and_wake(struct task_struct *t)
> {
> int was_pending = signal_pending(t);
>
> if (recalc_sigpending_tsk(t) && !was_pending)
> signal_wake_
On 05/16, Roland McGrath wrote:
>
> + * After recalculating TIF_SIGPENDING, we need to make sure the task wakes
> up.
> + * This is superfluous when called on current, the wakeup is a harmless
> no-op.
> + */
> +void recalc_sigpending_and_wake(struct task_struct *t)
> +{
> + if (recalc_sigpe
Steve Hawkes discovered a problem where recalc_sigpending_tsk was called in
do_sigaction but no signal_wake_up call was made, preventing later signals
from waking up blocked threads with TIF_SIGPENDING already set.
In fact, the few other calls to recalc_sigpending_tsk outside the signals
code are
3 matches
Mail list logo