|__GET_TCB(2)||System Calls Manual||__GET_TCB(2)|
__set_tcb() functions are for use by librthread and other parts of the system 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. New threads (including the first thread of a new process) created using fork(2), vfork(2), or rfork(2), start with this address set to zero. Similarly, execve(2) resets it 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 OpenBSD 5.1.
|October 16, 2011||OpenBSD-5.1|