set_tid_address(2) System Calls Manual set_tid_address(2) set_tid_address - C (libc, -lc) #include /* SYS_* */ #include pid_t syscall(SYS_set_tid_address, int *tidptr); Note: glibc provides no wrapper for set_tid_address(), necessitating the use of syscall(2). (): set_child_tid clear_child_tid. NULL. set_child_tid clone(2) CLONE_CHILD_SETTID, set_child_tid ctid. set_child_tid , , , ID . clear_child_tid clone(2) CLONE_CHILD_CLEARTID, clear_child_tid ctid. set_tid_address() clear_child_tid tidptr. , clear_child_tid NULL, , , clear_child_tid, 0 : futex(clear_child_tid, FUTEX_WAKE, 1, NULL, NULL, 0); , , futex . futex . set_tid_address() ID . set_tid_address() . Linux. Linux 2.5.48. Details as given here are valid since Linux 2.5.49. clone(2), futex(2), gettid(2) () Alexander Golubev , Azamat Hackimov , Hotellook, Nikita , Spiros Georgaras , Vladislav , Yuri Kozlov ; GNU (GNU General Public License - GPL, 3 ) , - . - , , () () () . Linux man-pages 6.18 8 2026 . set_tid_address(2)