gettid(2) - wariua/manpages-ko GitHub Wiki
gettid - μ€λ λ μλ³μ μ»κΈ°
#include <sys/types.h>
pid_t gettid(void);gettid()λ νΈμΆμμ μ€λ λ ID(TID)λ₯Ό λ°ννλ€. λ¨μΌ μ€λ λμΈ νλ‘μΈμ€μμ μ€λ λ IDλ νλ‘μΈμ€ ID(getpid(2)κ° λ°ννλ PID)μ κ°λ€. λ€μ€ μ€λ λμΈ νλ‘μΈμ€μμ λͺ¨λ μ€λ λλ PIDκ° κ°μ§λ§ κ°κ° μ μΌν TIDλ₯Ό κ°μ§λ€. λ μμΈν λ΄μ©μ clone(2)μ CLONE_THREAD λ
Όμλ₯Ό 보λΌ.
μ±κ³΅ μ νΈμΆ μ€λ λμ μ€λ λ IDλ₯Ό λ°ννλ€.
μ΄ νΈμΆμ νμ μ±κ³΅μ΄λ€.
리λ
μ€ μ»€λ 2.4.11μμ gettid() μμ€ν
νΈμΆμ΄ μ²μ λ±μ₯νλ€. glibc 2.30μμ λΌμ΄λΈλ¬λ¦¬ μ§μμ΄ μΆκ°λμλ€. (κ·Έ μ glibc λ²μ μμλ μ΄ μμ€ν
νΈμΆμ λνΌλ₯Ό μ 곡νμ§ μμμ syscall(2)μ μ¨μΌ νλ€.)
gettid()λ 리λ
μ€ μ μ©μ΄λ―λ‘ μ΄μμ±μ΄ μμ΄μΌ νλ νλ‘κ·Έλ¨μμλ μ¬μ©νμ§ λ§μμΌ νλ€.
μ΄ νΈμΆμ΄ λ°ννλ μ€λ λ IDλ POSIX μ€λ λ IDμ (μ¦ pthread_self(3)κ° λ°ννλ λΆν¬λͺ ν κ°κ³Ό) κ°μ κ²μ΄ μλλ€.
CLONE_THREAD νλκ·Έλ₯Ό μ§μ νμ§ μμ clone(2) νΈμΆλ‘ μμ±ν μ μ€λ λ κ·Έλ£Ήμμ (λλ κ·Έμ λλ±νκ², fork(2)λ‘ μμ±ν μ νλ‘μΈμ€μμ) μ νλ‘μΈμ€λ μ€λ λ κ·Έλ£Ή 리λμ΄λ©° κ·Έ μ€λ λ κ·Έλ£Ή IDκ° (μ¦ getpid(2)κ° λ°ννλ κ°μ΄) κ·Έ μ€λ λ IDμ (μ¦ gettid()κ° λ°ννλ κ°κ³Ό) κ°λ€.
capget(2), clone(2), fcntl(2), fork(2), getpid(2), get_robust_list(2), ioprio_set(2), perm_event_open(2), sched_setaffinity(2), sched_setparam(2), sched_setscheduler(2), tgkill(2), timer_create(2)
2019-03-06