NAME

pthread_attr_setstacksize, pthread_attr_getstacksize - 스레드 속성 객체의 스택 크기 속성 설정하기/얻기

SYNOPSIS

#include <pthread.h>

int pthread_attr_setstacksize(pthread_attr_t *attr, size_t stacksize);
int pthread_attr_getstacksize(const pthread_attr_t *restrict attr,
                              size_t *restrict stacksize);

-pthread로 컴파일 및 링크.

DESCRIPTION

pthread_attr_setstacksize() 함수는 attr이 가리키는 스레드 속성 객체의 스택 크기 속성을 stacksize에 지정한 값으로 설정한다.

스택 크기 속성은 스레드 속성 객체 attr을 이용해 생성하는 스레드에 할당될 (바이트 단위) 최소 크기를 결정한다.

pthread_attr_getstacksize() 함수는 attr이 가리키는 스레드 속성 객체의 스택 크기 속성을 stacksize가 가리키는 버퍼로 반환한다.

RETURN VALUE

성공 시 이 함수들은 0을 반환한다. 오류 시 0 아닌 오류 번호를 반환한다.

ERRORS

pthread_attr_setstacksize()가 다음 오류로 실패할 수 있다.

EINVAL
스택 크기가 PTHREAD_STACK_MIN(16384)바이트보다 작다.

일부 시스템에서는 stacksize가 시스템 페이지 크기의 배수가 아닌 경우에 pthread_attr_setstacksize()EINVAL 오류로 실패할 수 있다.

VERSIONS

glibc 버전 2.1부터 이 함수들을 제공한다.

ATTRIBUTES

이 절에서 사용하는 용어들에 대한 설명은 attributes(7)를 보라.

인터페이스 속성
pthread_attr_setstacksize(),
pthread_attr_getstacksize()
스레드 안전성 MT-Safe

CONFORMING TO

POSIX.1-2001, POSIX.1-2008.

NOTES

새 스레드의 기본 스택 크기에 대한 자세한 내용은 pthread_create(3)를 보라.

스레드의 스택 크기는 스레드 생성 시점에 고정된다. 메인 스레드만 자기 스택을 동적으로 늘일 수 있다.

응용에서 pthread_attr_setstack(3) 함수를 이용하면 스레드가 사용할 호출자 할당 스택의 크기와 위치 모두를 설정할 수 있다.

BUGS

glibc 2.8 기준으로 지정한 stacksizeSTACK_ALIGN(대부분 아키텍처에서 16바이트)의 배수가 아니면 크기가 내림 될 수 있다. 이는 할당되는 스택이 최소 stacksize 바이트가 된다고 하는 POSIX.1을 위반하는 것이다.

EXAMPLES

pthread_create(3) 참고.

SEE ALSO

getrlimit(2), pthread_attr_init(3), pthread_attr_setguardsize(3), pthread_attr_setstack(3), pthread_create(3), pthreads(7)


2021-03-22