[Bug 283101] pthread_cancel() doesn't cancel a thread that's currently in pause()

From: <bugzilla-noreply_at_freebsd.org>
Date: Sat, 28 Dec 2024 17:21:17 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=283101

--- Comment #24 from commit-hook@FreeBSD.org ---
A commit in branch main references this bug:

URL:
https://cgit.FreeBSD.org/src/commit/?id=9f78c837d94f73f1485e2ce012a8e64197dae9d5

commit 9f78c837d94f73f1485e2ce012a8e64197dae9d5
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2024-12-24 00:08:17 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
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(-)

-- 
You are receiving this mail because:
You are the assignee for the bug.