Changes the object name in the thread object for an existing thread.
1 – C Binding
#include <pthread.h> int pthread_setname_np ( pthread_thread_t thread, const char *name, void *mbz);
2 – Arguments
thread Thread object whose object name is to be changed. name Object name value to copy into the thread object. mbz Reserved for future use. The value must be zero (0).
3 – Description
This routine changes the object name in the thread object for the thread specified by the thread argument to the value specified by the name argument. To set an existing thread's object name, call this routine after creating the thread. However, with this approach your program must account for the possibility that the target thread either has already exited or has been canceled before this routine is called. The object name is a C language string and provides an identifier that is meaningful to a person debugging a multithreaded application. The maximum number of characters in the object name is 31. This routine contrasts with pthread_attr_setname_np(), which changes the object name attribute in a thread attributes object that is used to create a new thread.
4 – Return Values
If an error condition occurs, this routine returns an integer value indicating the type of error. Possible return values are as follows: Return Description 0 Successful completion. [EINVAL] The length in characters of name exceeds 31. [ENOMEM] Insufficient memory to create a copy of the object name string. [ESRCH] The thread specified by thread does not exist.
5 – Associated Routines
pthread_attr_getname_np() pthread_attr_setname_np() pthread_getname_np()