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: src/share/man/man3/pthread_set_name_np.3,v 1.6 2007/10/22 10:08:01 ru Exp $ 26.\" 27.Dd March 8, 2021 28.Dt PTHREAD_SET_NAME_NP 3 29.Os 30.Sh NAME 31.Nm pthread_set_name_np , 32.Nm pthread_setname_np , 33.Nm pthread_get_name_np , 34.Nm pthread_getname_np 35.Nd set and get the thread name 36.Sh LIBRARY 37.Lb libpthread 38.Sh SYNOPSIS 39.In pthread.h 40.In pthread_np.h 41.Ft void 42.Fn pthread_set_name_np "pthread_t tid" "const char *name" 43.Ft int 44.Fn pthread_setname_np "pthread_t tid" "const char *name" 45.Ft void 46.Fn pthread_get_name_np "pthread_t tid" "char *name" "size_t len" 47.Ft int 48.Fn pthread_getname_np "pthread_t tid" "char *name" "size_t len" 49.Sh DESCRIPTION 50The 51.Fn pthread_set_name_np 52and 53.Fn pthread_setname_np 54functions set the internal name of the thread specified by the 55.Fa tid 56argument to the string value specified by the 57.Fa name 58argument. 59.Pp 60The 61.Fn pthread_get_name_np 62and 63.Fn pthread_getname_np 64functions get the internal name of the thread specified by the 65.Fa tid 66argument and store it in the buffer. 67If the thread does not exist, the buffer is written as an empty line. 68.Sh RETURN VALUES 69Upon successful completion, 70.Fn pthread_getname_np 71and 72.Fn pthread_setname_np 73will return 0. 74Otherwise, an error is returned. 75.Sh ERRORS 76The 77.Fn pthread_getname_np 78and 79.Fn pthread_setname_np 80functions will fail if 81.Bl -tag -width Er 82.It Bq Er EFAULT 83The 84.Fa name 85parameter is outside the process's allocated address space. 86.It Bq Er EINVAL 87The 88.Fa tid 89argument specifies an invalid thread. 90.It Bq Er ESRCH 91No thread could be found in the current process corresponding to that 92specified by the given thread ID 93.Fa tid . 94.El 95.Pp 96Because of the debugging nature of the 97.Nm pthread_get_name_np 98and 99.Nm pthread_set_name_np 100functions, all errors that may appear inside are silently ignored. 101However, errno may still be set. 102.Sh SEE ALSO 103.Xr lwp_setname 2 104.Sh STANDARDS 105The 106.Fn pthread_set_name_np 107and 108.Fn pthread_get_name_np 109functions are non-standard extensions. 110While also non-standard, 111.Fn pthread_setname_np 112and 113.Fn pthread_getname_np 114are implemented by a larger number of operating 115systems so they are in fact more portable. 116.Sh AUTHORS 117This manual page was written by 118.An Alexey Zelkin Aq Mt phantom@FreeBSD.org . 119