tail head cat sleep
QR code linking to this page

Manual Pages  — THR_SELF


thr_self – return thread identifier for the calling thread



Standard C Library (libc, -lc)


#include <sys/thr.h>

thr_self(long *id);


The thr_self() system call stores the system-wide thread identifier for the current kernel-scheduled thread in the variable pointed by the argument id.

The thread identifier is an integer in the range from PID_MAX + 2 (10002) to INT_MAX. The thread identifier is guaranteed to be unique at any given time, for each running thread in the system. After the thread exits, the identifier may be reused.


If successful, thr_self() will return zero, otherwise -1 is returned, and errno is set to indicate the error.


The thr_self() operation may return the following errors:
  The memory pointed to by the id argument is not valid.


thr_exit(2), thr_kill(2), thr_kill2(2), thr_new(2), thr_set_name(2), _umtx_op(2), pthread_getthreadid_np(3), pthread_self(3)


The thr_self() system call is non-standard and is used by 1:1 Threading Library (libthr, -lthr)to implement IEEE Std 1003.1-2001 ("POSIX.1") pthread(3) functionality.

THR_SELF (2) June 1, 2016

tail head cat sleep
QR code linking to this page

Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

This philosophy, in the hands of amateurs, leads to inexplicably mind-numbing botches like the existence of two programs, “head” and “tail,” which print the first part or the last part of a file, depending. Even though their operations are duals of one another, “head” and “tail” are different programs, written by different authors, and take different options!
— The Unix Haters' handbook