aboutsummaryrefslogtreecommitdiff
path: root/lib/libthr
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2025-05-16 13:18:21 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2025-05-19 06:07:43 +0000
commit31760ee65ae3e79434fb257d93e17a6de6021f48 (patch)
tree39ec5375cbc3c86c28769d627e2814680840e5db /lib/libthr
parentc0fdd2bf944bb646116c6cd9879560579ebaa563 (diff)
Diffstat (limited to 'lib/libthr')
-rw-r--r--lib/libthr/pthread.map2
-rw-r--r--lib/libthr/thread/thr_sig.c19
2 files changed, 21 insertions, 0 deletions
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 <stdlib.h>
#include <string.h>
#include <pthread.h>
+#include <pthread_np.h>
#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)
{