1.\" Copyright (c) 2003 Alexey Zelkin <phantom@FreeBSD.org>
2.\" All rights reserved.
3.\"
4.\" Redistribution and use in source and binary forms, with or without
5.\" modification, are permitted provided that the following conditions
6.\" are met:
7.\" 1. Redistributions of source code must retain the above copyright
8.\"    notice, this list of conditions and the following disclaimer.
9.\" 2. Redistributions in binary form must reproduce the above copyright
10.\"    notice, this list of conditions and the following disclaimer in the
11.\"    documentation and/or other materials provided with the distribution.
12.\"
13.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
14.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
15.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
16.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
17.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
18.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
19.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
20.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
21.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
22.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
23.\" SUCH DAMAGE.
24.\"
25.\" $FreeBSD$
26.\"
27.Dd October 12, 2021
28.Dt PTHREAD_SET_NAME_NP 3
29.Os
30.Sh NAME
31.Nm pthread_get_name_np ,
32.Nm pthread_getname_np ,
33.Nm pthread_set_name_np
34.Nm pthread_setname_np
35.Nd set and retrieve the thread name
36.Sh LIBRARY
37.Lb libpthread
38.Sh SYNOPSIS
39.In pthread_np.h
40.Ft void
41.Fn pthread_get_name_np "pthread_t thread" "char *name" "size_t len"
42.Ft int
43.Fn pthread_getname_np "pthread_t thread" "char *name" "size_t len"
44.Ft void
45.Fn pthread_set_name_np "pthread_t thread" "const char *name"
46.Ft int
47.Fn pthread_setname_np "pthread_t thread" "const char *name"
48.Sh DESCRIPTION
49The
50.Fn pthread_set_name_np
51and
52.Fn pthread_setname_np
53functions apply a copy of the given
54.Fa name
55to the given
56.Fa thread .
57.Pp
58The
59.Fn pthread_get_name_np
60and
61.Fn pthread_getname_np
62functions retrieve the
63.Fa name
64associated with
65.Fa thread .
66If
67.Fn pthread_set_name_np
68was not previously called for
69.Fa thread ,
70the buffer pointed to by
71.Fa name
72will be empty.
73.Sh ERRORS
74The
75.Nm pthread_getname_np
76and
77.Nm pthread_setname_np
78will fail if
79.Bl -tag -width Er
80.It Bq Er ESRCH
81No thread could be found in the current process corresponding to that
82specified by the given thread ID
83.Fa thread .
84.El
85.Pp
86Because of the debugging nature of
87.Nm pthread_get_name_np
88and
89.Nm pthread_set_name_np
90functions, all errors that may
91appear inside are silently ignored.
92.Sh SEE ALSO
93.Xr pthread_np 3 ,
94.Xr thr_set_name 2
95.Sh STANDARDS
96.Fn pthread_set_name_np
97and
98.Fn pthread_get_name_np
99are non-standard extensions.
100.Fn pthread_setname_np
101and
102.Fn pthread_getname_np
103are also non-standard, but are implemented by larger number of operating
104systems so they are in fact more portable.
105.Sh AUTHORS
106This manual page was written by
107.An Alexey Zelkin Aq Mt phantom@FreeBSD.org
108and
109.An Yuri Pankov Aq Mt yuripv@yuripv.net .
110