From 2c040d0b904ca8dfd34e72dc9b4722d92436ad7e Mon Sep 17 00:00:00 2001 From: Samuel Thibault Date: Sat, 15 Jan 2022 14:55:23 +0100 Subject: hurd: Fix pthread_kill on exiting/ted thread We have to drop the kernel_thread port from the thread structure, to avoid pthread_kill's call to _hurd_thread_sigstate trying to reference it and fail. --- sysdeps/hurd/htl/pt-kill.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'sysdeps/hurd') diff --git a/sysdeps/hurd/htl/pt-kill.c b/sysdeps/hurd/htl/pt-kill.c index c06542b..b6ee423 100644 --- a/sysdeps/hurd/htl/pt-kill.c +++ b/sysdeps/hurd/htl/pt-kill.c @@ -35,6 +35,10 @@ __pthread_kill (pthread_t thread, int sig) if (pthread == NULL) return ESRCH; + if (pthread->kernel_thread == MACH_PORT_DEAD) + /* The pthread ID is still valid but we cannot send a signal any more. */ + return 0; + ss = _hurd_thread_sigstate (pthread->kernel_thread); assert (ss); -- cgit v1.1