pthread_attr_setstackaddr(3) - wariua/manpages-ko GitHub Wiki
pthread_attr_setstackaddr, pthread_attr_getstackaddr - μ€λ λ μμ± κ°μ²΄μ μ€ν μ£Όμ μμ± μ€μ νκΈ°/μ»κΈ°
#include <pthread.h>
int pthread_attr_setstackaddr(pthread_attr_t *attr, void *stackaddr);
int pthread_attr_getstackaddr(const pthread_attr_t *attr, void **stackaddr);
-pthread
λ‘ μ»΄νμΌ λ° λ§ν¬.
μ΄ ν¨μλ€μ ꡬμμ΄λ€. μ°μ§ λ§λΌ. λμ pthread_attr_setstack(3) λ° pthread_attr_getstack(3)μ μ¬μ©νλΌ.
pthread_attr_setstackaddr()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ μ€ν μ£Όμ μμ±μ stackaddr
μ μ§μ ν κ°μΌλ‘ μ€μ νλ€. μ΄ μμ±μ μ€λ λ μμ± κ°μ²΄ attr
μ μ΄μ©ν΄ μμ±νλ μ€λ λμμ μ¬μ©ν μ€νμ μμΉλ₯Ό λνλΈλ€.
stackaddr
μ νΈμΆμκ° ν λΉν μ΅μ PTHREAD_STACK_MIN
λ°μ΄νΈμ§λ¦¬ λ²νΌλ₯Ό κ°λ¦¬μΌμΌ νλ€. ν λΉν λ²νΌμ νμ΄μ§λ€μ μ½κΈ°μ μ°κΈ°κ° λͺ¨λ κ°λ₯ν΄μΌ νλ€.
pthread_attr_getstackaddr()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ μ€ν μ£Όμ μμ±μ stackaddr
μ΄ κ°λ¦¬ν€λ λ²νΌλ‘ λ°ννλ€.
μ±κ³΅ μ μ΄ ν¨μλ€μ 0μ λ°ννλ€. μ€λ₯ μ 0 μλ μ€λ₯ λ²νΈλ₯Ό λ°ννλ€.
μ무 μ€λ₯λ κ·μ λμ΄ μμ§ μλ€. (κ·Έλ κΈ°λ νμ§λ§ μμ©μμλ κ°λ₯ν μ€λ₯ λ°νμ μ²λ¦¬ν΄μΌ ν κ²μ΄λ€.)
glibc λ²μ 2.1λΆν° μ΄ ν¨μλ€μ μ 곡νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
pthread_attr_setstackaddr() ,pthread_attr_getstackaddr()
|
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001μμ μ΄ ν¨μλ€μ λͺ μΈνλ ꡬμμΌλ‘ νμνμλ€. POSIX.1-2008μμ μ΄ ν¨μλ€μ λͺ μΈλ₯Ό μ κ±°νμλ€.
μ΄ ν¨μλ€μ μ°μ§ λ§λΌ! μ€ν μ±μ₯ λ°©ν₯μ΄λ λ²μλ₯Ό μ§μ ν λ°©λ²μ΄ μκΈ° λλ¬Έμ μ΄μμ± μκ² μ¬μ©ν μ μλ€. μλ₯Ό λ€μ΄ μ€νμ΄ μλλ‘ μλΌλ μν€ν
μ²μμ stackaddr
μ ν λΉν μ€ν μμμ μ΅μμ μ£Όμ λ€μ μ£Όμλ₯Ό λνλΈλ€. νμ§λ§ μ€νμ΄ μλ‘ μλΌλ μν€ν
μ²μμ stackaddr
μ ν λΉν μ€ν μμμ μ΅νμ μ£Όμλ₯Ό λνλΈλ€. λ°λ©΄ pthread_attr_setstack(3) λ° pthread_attr_getstack(3)μμ μ°λ stackaddr
μ νμ ν λΉν μ€ν μμμ μ΅νμ μ£Όμμ λν ν¬μΈν°μ΄λ€. (κ·Έλ¦¬κ³ stacksize
μΈμκ° μ€νμ λ²μλ₯Ό μ§μ νλ€.)
pthread_attr_init(3), pthread_attr_setstack(3), pthread_attr_setstacksize(3), pthread_create(3), pthreads(7)
2017-09-15