|__GET_TCB(2)||System Calls Manual||__GET_TCB(2)|
__set_tcb — get and set the
address of the thread control block of the current thread
__set_tcb() functions are for use by libpthread and
other parts of the C runtime to retrieve and set the address of the current
thread's thread control block (TCB). This is used to locate per-thread data
such as errno. Each kernel-level thread in a process
has a separate value for this address, which can be obtained and changed via
these system calls.
The initial thread of a new process created using fork(2) or vfork(2) inherits the TCB address of the thread that created it. A thread created using __tfork(3) starts with the TCB address specified in that call. execve(2) resets the thread's TCB address to zero.
On some platforms, this address is also directly mapped to a CPU register which can be accessed from userspace.
__get_tcb() returns the address of the
thread control block of the current thread.
__set_tcb() system calls appeared in
|March 30, 2016||OpenBSD-current|