git: 39f442502167 - stable/14 - pthread_switch_add_np(3): remove

From: Konstantin Belousov <kib_at_FreeBSD.org>
Date: Mon, 26 May 2025 08:17:05 UTC
The branch stable/14 has been updated by kib:

URL: https://cgit.FreeBSD.org/src/commit/?id=39f4425021678ee9069aa15946c4946e0bdd49e3

commit 39f4425021678ee9069aa15946c4946e0bdd49e3
Author:     Konstantin Belousov <kib@FreeBSD.org>
AuthorDate: 2025-05-16 13:25:34 +0000
Commit:     Konstantin Belousov <kib@FreeBSD.org>
CommitDate: 2025-05-26 08:16:35 +0000

    pthread_switch_add_np(3): remove
    
    (cherry picked from commit c0fdd2bf944bb646116c6cd9879560579ebaa563)
---
 include/pthread_np.h                   |  7 ---
 lib/libthr/thread/thr_switch_np.c      |  5 +-
 share/man/man3/Makefile                |  2 -
 share/man/man3/pthread_np.3            | 10 ----
 share/man/man3/pthread_switch_add_np.3 | 86 ----------------------------------
 5 files changed, 4 insertions(+), 106 deletions(-)

diff --git a/include/pthread_np.h b/include/pthread_np.h
index 8f0180d4bd04..dcc762156a67 100644
--- a/include/pthread_np.h
+++ b/include/pthread_np.h
@@ -34,11 +34,6 @@
 #include <sys/param.h>
 #include <sys/cpuset.h>
 
-/*
- * Non-POSIX type definitions:
- */
-typedef void	(*pthread_switch_routine_t)(pthread_t, pthread_t);
-
 /*
  * Non-POSIX thread function prototype definitions:
  */
@@ -67,8 +62,6 @@ int pthread_setaffinity_np(pthread_t, size_t, const cpuset_t *);
 int pthread_single_np(void);
 void pthread_suspend_all_np(void);
 int pthread_suspend_np(pthread_t);
-int pthread_switch_add_np(pthread_switch_routine_t);
-int pthread_switch_delete_np(pthread_switch_routine_t);
 int pthread_timedjoin_np(pthread_t, void **, const struct timespec *);
 __END_DECLS
 
diff --git a/lib/libthr/thread/thr_switch_np.c b/lib/libthr/thread/thr_switch_np.c
index 80cd34c15650..59a9a4c7e1a3 100644
--- a/lib/libthr/thread/thr_switch_np.c
+++ b/lib/libthr/thread/thr_switch_np.c
@@ -40,10 +40,13 @@
 
 #include "thr_private.h"
 
-
 __weak_reference(_pthread_switch_add_np, pthread_switch_add_np);
 __weak_reference(_pthread_switch_delete_np, pthread_switch_delete_np);
 
+typedef void	(*pthread_switch_routine_t)(pthread_t, pthread_t);
+int _pthread_switch_add_np(pthread_switch_routine_t routine);
+int _pthread_switch_delete_np(pthread_switch_routine_t routine);
+
 int
 _pthread_switch_add_np(pthread_switch_routine_t routine __unused)
 {
diff --git a/share/man/man3/Makefile b/share/man/man3/Makefile
index 5f336b6b7d2a..3aa215d095e7 100644
--- a/share/man/man3/Makefile
+++ b/share/man/man3/Makefile
@@ -463,7 +463,6 @@ PTHREAD_MAN=	pthread.3 \
 		pthread_spin_lock.3 \
 		pthread_suspend_all_np.3 \
 		pthread_suspend_np.3 \
-		pthread_switch_add_np.3 \
 		pthread_testcancel.3 \
 		pthread_yield.3
 
@@ -528,7 +527,6 @@ PTHREAD_MLINKS+=pthread_set_name_np.3 pthread_get_name_np.3 \
 PTHREAD_MLINKS+=pthread_spin_init.3 pthread_spin_destroy.3 \
 		pthread_spin_lock.3 pthread_spin_trylock.3 \
 		pthread_spin_lock.3 pthread_spin_unlock.3
-PTHREAD_MLINKS+=pthread_switch_add_np.3 pthread_switch_delete_np.3
 PTHREAD_MLINKS+=pthread_testcancel.3 pthread_setcancelstate.3 \
 		pthread_testcancel.3 pthread_setcanceltype.3
 PTHREAD_MLINKS+=pthread_join.3 pthread_peekjoin_np.3 \
diff --git a/share/man/man3/pthread_np.3 b/share/man/man3/pthread_np.3
index caab8cc13209..9fb2544dd3c9 100644
--- a/share/man/man3/pthread_np.3
+++ b/share/man/man3/pthread_np.3
@@ -132,16 +132,6 @@ Suspend the specified thread.
 Suspend all active threads.
 .It Xo
 .Ft int
-.Fn pthread_switch_add_np "pthread_switch_routine_t routine"
-.Xc
-Install a routine that is called every time a thread context switches.
-.It Xo
-.Ft int
-.Fn pthread_switch_delete_np "pthread_switch_routine_t routine"
-.Xc
-Remove a routine that is called every time a thread context switches.
-.It Xo
-.Ft int
 .Fo pthread_timedjoin_np
 .Fa "pthread_t thread" "void **value_ptr" "const struct timespec *abstime"
 .Fc
diff --git a/share/man/man3/pthread_switch_add_np.3 b/share/man/man3/pthread_switch_add_np.3
deleted file mode 100644
index f02ff15eedc3..000000000000
--- a/share/man/man3/pthread_switch_add_np.3
+++ /dev/null
@@ -1,86 +0,0 @@
-.\" Copyright (c) 2003 Alexey Zelkin <phantom@FreeBSD.org>
-.\" All rights reserved.
-.\"
-.\" Redistribution and use in source and binary forms, with or without
-.\" modification, are permitted provided that the following conditions
-.\" are met:
-.\" 1. Redistributions of source code must retain the above copyright
-.\"    notice, this list of conditions and the following disclaimer.
-.\" 2. Redistributions in binary form must reproduce the above copyright
-.\"    notice, this list of conditions and the following disclaimer in the
-.\"    documentation and/or other materials provided with the distribution.
-.\"
-.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
-.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-.\" SUCH DAMAGE.
-.\"
-.Dd October 12, 2021
-.Dt PTHREAD_SWITCH_ADD_NP 3
-.Os
-.Sh NAME
-.Nm pthread_switch_add_np ,
-.Nm pthread_switch_delete_np
-.Nd thread context switches debugging primitives
-.Sh LIBRARY
-.Lb libpthread
-.Sh SYNOPSIS
-.In pthread_np.h
-.Ft int
-.Fn pthread_switch_add_np "pthread_switch_routine_t routine"
-.Ft int
-.Fn pthread_switch_delete_np "pthread_switch_routine_t routine"
-.Sh DESCRIPTION
-An application is allowed to monitor the thread context switches inside
-the threading library.
-An application can install a routine that gets called every time a thread
-(explicitly created by an application with the
-.Xr pthread_create 3
-function) gets the context switched.
-The routine is passed the thread IDs of the threads that are
-being switched in and out.
-Installation and removal of these hooks may be done using the
-.Fn pthread_switch_add_np
-and
-.Fn pthread_switch_delete_np
-functions respectively.
-.Sh RETURN VALUES
-If successful,
-these functions return 0.
-Otherwise, an error number is returned to indicate the error.
-.Sh ERRORS
-The
-.Fn pthread_switch_add_np
-may fail if:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-.Dv NULL
-pointer was passed in the
-.Fa routine
-argument.
-.El
-.Pp
-The
-.Fn pthread_switch_delete_np
-may fail if:
-.Bl -tag -width Er
-.It Bq Er EINVAL
-The
-.Fa routine
-argument is different from the argument previously passed to the
-.Fn pthread_switch_add_np
-function.
-.El
-.Sh SEE ALSO
-.Xr pthread_create 3 ,
-.Xr pthread_np 3
-.Sh AUTHORS
-This manual page was written by
-.An Alexey Zelkin Aq Mt phantom@FreeBSD.org .