pthread_getname_np,
  pthread_setname_np —
get and set descriptive name of a thread
POSIX Threads Library (libpthread, -lpthread)
#include <pthread.h>
int
  
  pthread_getname_np(pthread_t
    thread, char *name,
    size_t len);
int
  
  pthread_setname_np(pthread_t
    thread, const char
    *name, void
  *arg);
The pthread_getname_np() function obtains the
  descriptive name of a thread. It takes the following arguments:
  - thread
- The thread whose descriptive name will be obtained.
- name
- The buffer to be filled with the descriptive name of the thread.
- len
- The size of the buffer name in bytes.
 
The pthread_setname_np() function sets the
    descriptive name of a thread. It takes the following arguments:
  - thread
- The thread whose descriptive name will be set.
- name
- The printf(3) format string
      to be used to construct the descriptive name of the thread. The resulted
      descriptive name should be shorter than
      PTHREAD_MAX_NAMELEN_NP.
- arg
- The printf(3) argument used
      with name.
 
Both functions return 0 on success. Otherwise, an error number is returned to
  indicate the error.
Both functions are non-standard extensions.
Both functions may fail if:
  - [EINVAL]
- Invalid parameter.
- [ESRCH]
- Non-existent thread.
The pthread_setname_np() function may also
    fail if:
  - [ENOMEM]
- There was insufficient memory for the operation.