From nobody Mon May 19 06:08:00 2025 X-Original-To: dev-commits-src-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4b16g46zwxz5wYjL; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R11" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4b16g448d1z3mBq; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNTeyeNLBugHMQAoC1sRrGkGTEFnRHAnFTSG1smfVeI=; b=Mfo3W+rSZOhL4ylxHmDXWaJ8JYpfmAe5y9D2LPHWygAA31fkYqQkenGU3ro1v1vm+25WUW jv4GDVSv27+uf/ijMsAjZy2j695L60jynPaip20VoVAYLEc19yjKsK5Lisb+E/aePqUboG 3lzcrl6w53m8/nhK+VQ7rclh5yV0omXveezFYVdNJ+vuyEea3Dr0cnqMizJR7o0PgRJDFg s33by/uYdI/zXtyZhj78o+Sg9IfA5Y+lljYDEFcuigJe89BsOrJtrUD91o+THGQv0Wrv9l NxJS6jChb1M4jb/IkEpsyKjgXEv3uGp1CmsMhPv8lT4vWNOroWWuQbjCwyGHoA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1747634880; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pNTeyeNLBugHMQAoC1sRrGkGTEFnRHAnFTSG1smfVeI=; b=tqX3KLH8QHzAIYahTcRATEnLsMS/hxhvrtIawr4Nj9o6S0YoOeWmNcrOWxmwNItbX1QTUT QGmAUXprfY6H5EK8ycGHuVisiymBlenDUUTJtY71t7yVm97ShwJ8ZIM1I+Vlkktd3nEEln Sw1jr4wesTQ0I7fPa7jrCaQmI/z2asW/jNLvTkZA3cE9S4UQ42wXXXCNOBvVdx9CyCt7Ps 4GBSG23bljfTbII2uWxmNWd1876yxtHZ/LNx6xqGjrpSig7nMXSOzcyFG91lL2vd8K7Zq1 OdEHRzEexIPNu2KnpCvk6SwnQiurbzJlobDjefWd1VZ+PAKS58n2cwyZ44ytmw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1747634880; a=rsa-sha256; cv=none; b=ie6dPfzNz3JzGUnynGlx+LV2b2PaUcfIbAdnkDUMLEjQmCkQOR2ZdPu/6kdojNysQrcx0F nirq+ELhiJYRapVpdJqkU+uoz7whn/Sey5XpgQohC4sUjo2TG+4uCW8DpJiHfyWLFrvn6W Xk3P4MXPPJkJSCeTc8hJzCtz9P8V1U+nBXQ4LiQ4KH9MD06m2dkxSbaIEvjdVMXezhlNRT on9SwMjayaG7zleX4KNlUSTjSkAv89Ln4ShFSk8oAhakanxrA+estf82DW195MyVRp2FT6 0Eyl3oECSG39IJ2A4Z5aIFDO2UogJ6x3yUeWmaN9/8XZWJ0IWb6ZcR2sZNEMpg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4b16g432xhzs89; Mon, 19 May 2025 06:08:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.18.1/8.18.1) with ESMTP id 54J680Ap037896; Mon, 19 May 2025 06:08:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.18.1/8.18.1/Submit) id 54J680oL037893; Mon, 19 May 2025 06:08:00 GMT (envelope-from git) Date: Mon, 19 May 2025 06:08:00 GMT Message-Id: <202505190608.54J680oL037893@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: Konstantin Belousov Subject: git: 31760ee65ae3 - main - libthr: add stable user interface for sigfastblock(2) List-Id: Commit messages for all branches of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-src-all@freebsd.org Sender: owner-dev-commits-src-all@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 31760ee65ae3e79434fb257d93e17a6de6021f48 Auto-Submitted: auto-generated The branch main has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=31760ee65ae3e79434fb257d93e17a6de6021f48 commit 31760ee65ae3e79434fb257d93e17a6de6021f48 Author: Konstantin Belousov AuthorDate: 2025-05-16 13:18:21 +0000 Commit: Konstantin Belousov CommitDate: 2025-05-19 06:07:43 +0000 libthr: add stable user interface for sigfastblock(2) Reviewed by: markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D50377 --- include/pthread_np.h | 2 ++ lib/libthr/pthread.map | 2 ++ lib/libthr/thread/thr_sig.c | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+) diff --git a/include/pthread_np.h b/include/pthread_np.h index dcc762156a67..a9e738540db4 100644 --- a/include/pthread_np.h +++ b/include/pthread_np.h @@ -59,6 +59,8 @@ int pthread_resume_np(pthread_t); int pthread_peekjoin_np(pthread_t, void **); void pthread_set_name_np(pthread_t, const char *); int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *); +void pthread_signals_block_np(void); +void pthread_signals_unblock_np(void); int pthread_single_np(void); void pthread_suspend_all_np(void); int pthread_suspend_np(pthread_t); diff --git a/lib/libthr/pthread.map b/lib/libthr/pthread.map index f75ef4c9135e..1c8dde03367b 100644 --- a/lib/libthr/pthread.map +++ b/lib/libthr/pthread.map @@ -339,5 +339,7 @@ FBSD_1.6 { }; FBSD_1.8 { + pthread_signals_block_np; + pthread_signals_unblock_np; pthread_sigqueue; }; diff --git a/lib/libthr/thread/thr_sig.c b/lib/libthr/thread/thr_sig.c index c5ee5aa8423b..2cd3de512d1c 100644 --- a/lib/libthr/thread/thr_sig.c +++ b/lib/libthr/thread/thr_sig.c @@ -37,6 +37,7 @@ #include #include #include +#include #include "un-namespace.h" #include "libc_private.h" @@ -163,6 +164,24 @@ _thr_signal_block_setup(struct pthread *curthread) __sys_sigfastblock(SIGFASTBLOCK_SETPTR, &curthread->fsigblock); } +void +pthread_signals_block_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_block(curthread); +} + +void +pthread_signals_unblock_np(void) +{ + struct pthread *curthread; + + curthread = _get_curthread(); + _thr_signal_unblock(curthread); +} + int _thr_send_sig(struct pthread *thread, int sig) {