[Bug 283101] pthread_cancel() doesn't cancel a thread that's currently in pause()
[email protected] Sat, 28 Dec 2024 17:21:17 +0000
| Newsgroups | gmane.os.freebsd.devel.threading |
|---|---|
| Message-ID | <[email protected]/bugzilla/> |
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D283101 --- Comment #24 from [email protected] --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D9f78c837d94f73f1485e2ce012a8e6419= 7dae9d5 commit 9f78c837d94f73f1485e2ce012a8e64197dae9d5 Author: Konstantin Belousov <[email protected]> AuthorDate: 2024-12-24 00:08:17 +0000 Commit: Konstantin Belousov <[email protected]> CommitDate: 2024-12-28 17:01:58 +0000 check_cancel: when in_sigsuspend, send SIGCANCEL unconditionally not only when check_cancel is called from the signal handler. _thr_wake() is not enough to get the sigsuspend(2) syscall out of the loop, since it only terminates sleep when an unblocked signal is delivered. PR: 283101 In collaboration with: pho Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D48200 lib/libthr/thread/thr_sig.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) --=20 You are receiving this mail because: You are the assignee for the bug.=