pthread_attr_setstacksize(3) - wariua/manpages-ko GitHub Wiki
pthread_attr_setstacksize, pthread_attr_getstacksize - μ€λ λ μμ± κ°μ²΄μ μ€ν ν¬κΈ° μμ± μ€μ νκΈ°/μ»κΈ°
#include <pthread.h>
int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int pthread_attr_getstacksize(const pthread_attr_t *attr, size_t *stacksize);
-pthread
λ‘ μ»΄νμΌ λ° λ§ν¬.
pthread_attr_setstacksize()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ μ€ν ν¬κΈ° μμ±μ stacksize
μ μ§μ ν κ°μΌλ‘ μ€μ νλ€.
μ€ν ν¬κΈ° μμ±μ μ€λ λ μμ± κ°μ²΄ attr
μ μ΄μ©ν΄ μμ±νλ μ€λ λμ ν λΉλ (λ°μ΄νΈ λ¨μ) μ΅μ ν¬κΈ°λ₯Ό κ²°μ νλ€.
pthread_attr_getstacksize()
ν¨μλ attr
μ΄ κ°λ¦¬ν€λ μ€λ λ μμ± κ°μ²΄μ μ€ν ν¬κΈ° μμ±μ stacksize
κ° κ°λ¦¬ν€λ λ²νΌλ‘ λ°ννλ€.
μ±κ³΅ μ μ΄ ν¨μλ€μ 0μ λ°ννλ€. μ€λ₯ μ 0 μλ μ€λ₯ λ²νΈλ₯Ό λ°ννλ€.
pthread_attr_setstacksize()
κ° λ€μ μ€λ₯λ‘ μ€ν¨ν μ μλ€.
EINVAL
- μ€ν ν¬κΈ°κ°
PTHREAD_STACK_MIN
(16384)λ°μ΄νΈλ³΄λ€ μλ€.
μΌλΆ μμ€ν
μμλ stacksize
κ° μμ€ν
νμ΄μ§ ν¬κΈ°μ λ°°μκ° μλ κ²½μ°μ pthread_attr_setstacksize()
κ° EINVAL
μ€λ₯λ‘ μ€ν¨ν μ μλ€.
glibc λ²μ 2.1λΆν° μ΄ ν¨μλ€μ μ 곡νλ€.
μ΄ μ μμ μ¬μ©νλ μ©μ΄λ€μ λν μ€λͺ μ attributes(7)λ₯Ό 보λΌ.
μΈν°νμ΄μ€ | μμ± | κ° |
---|---|---|
pthread_attr_setstacksize() ,pthread_attr_getstacksize()
|
μ€λ λ μμ μ± | MT-Safe |
POSIX.1-2001, POSIX.1-2008.
μ μ€λ λμ κΈ°λ³Έ μ€ν ν¬κΈ°μ λν μμΈν λ΄μ©μ pthread_create(3)λ₯Ό 보λΌ.
μ€λ λμ μ€ν ν¬κΈ°λ μ€λ λ μμ± μμ μ κ³ μ λλ€. λ©μΈ μ€λ λλ§ μκΈ° μ€νμ λμ μΌλ‘ λμΌ μ μλ€.
μμ©μμ pthread_attr_setstack(3) ν¨μλ₯Ό μ΄μ©νλ©΄ μ€λ λκ° μ¬μ©ν νΈμΆμ ν λΉ μ€νμ ν¬κΈ°μ μμΉ λͺ¨λλ₯Ό μ€μ ν μ μλ€.
glibc 2.8 κΈ°μ€μΌλ‘ μ§μ ν stacksize
κ° STACK_ALIGN
(λλΆλΆ μν€ν
μ²μμ 16λ°μ΄νΈ)μ λ°°μκ° μλλ©΄ ν¬κΈ°κ° λ΄λ¦Ό λ μ μλ€. μ΄λ ν λΉλλ μ€νμ΄ μ΅μ stacksize
λ°μ΄νΈκ° λλ€κ³ νλ POSIX.1μ μλ°νλ κ²μ΄λ€.
pthread_create(3) μ°Έκ³ .
getrlimit(2), pthread_attr_init(3), pthread_attr_setguardsize(3), pthread_attr_setstack(3), pthread_create(3), pthreads(7)
2017-09-15