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

Reply via email to