On 2025/3/19 17:11, Johannes Berg wrote: > On Thu, 2025-03-06 at 23:07 +0800, Tiwei Bie wrote: >> +void os_kill_helper_thread(struct os_helper_thread *td) >> +{ >> + pthread_kill(td->handle, SIGKILL); > > This ends up killing everything. > [...] > > Anyway, the issue is I cannot shut down, I get: > > reboot: Power down > Killed > > and the terminal isn't cleaned up, i.e. shutdown code isn't run.
Whoops, I completely missed that.. :( Thanks a lot for the test and analysis! It seems that SIGKILL will always take the process down [1]. We cannot use SIGKILL to kill helper threads anymore after switching to pthread. [1] https://web.git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/kernel/signal.c?h=v6.14-rc7#n1005 Regards, Tiwei