HomeFreeBSD

Make stop_all_proc_block interruptible to avoid deadlock with parallel…

Description

Make stop_all_proc_block interruptible to avoid deadlock with parallel suspension

If we try to single-thread a process which thread entered
procctl(REAP_KILL_SUBTREE), and sleeping waiting for us unlocking
stop_all_proc_blocker, we must be able to finish single-threading. This
requires the sleep to be interruptible.

Reported and tested by: pho
Reviewed by: markj
Sponsored by: The FreeBSD Foundation
MFC after: 2 weeks
Differential revision: https://reviews.freebsd.org/D35310

Details

Provenance
kibAuthored on Apr 30 2022, 11:29 PM
Reviewer
markj
Differential Revision
D35310: Set of fixes for REAP_KILL_SUBTREE
Parents
rG2d5ef216b679: thread_single_end(): consistently maintain p_boundary_count for ALLPROC mode
Branches
Unknown
Tags
Unknown