PTHREAD_SETSPECIFIC(3)

명칭
pthread_setspecific - thread 고유의 데이터치의 설정

프로그램 라이브러리
libc_r

서식
<pthread.h> int pthread_setspecific(pthread_key_t key, const void *value)

해설
pthread_setspecific() 함수는, 이전의 pthread_key_create() 의 호출을 통해 입수했다 key 에, thread 고유의 값을 관련짓습니다. 다른 thread는 같은 키에 대해서 다른 값을, 묶을 수가 있습니다. 이러한 값은, 통상은 호출하고 있는 thread에 의해 이미 예약되어, 동적으로 할당할 수 있었던 메모리브록크를 가리키는 포인터입니다.

pthread_key_create() (으)로부터 입수한 것은 아니다 key 의 값을 수반한, 또는 pthread_key_delete() 에 의해 key 하지만 삭제된 다음에의, pthread_setspecific() 의 호출의 결과는 미정도리입니다.

pthread_setspecific() (은)는 thread 고유의 데이터의 소멸자 함수로부터 불려 가는 일이 있습니다. 그렇지만, 이것은 기억 area를 잃거나 엔들레스 루프에 빠지거나 하는 일이 있습니다.

반환값
문제가 없는 경우는, pthread_setspecific() 함수는 0 을 돌려줍니다. 문제가 있는 경우는, 그 에러를 나타내기 위해서(때문에) 에러 번호가 돌려주어집니다.

에러
pthread_setspecific() (은)는 이하의 경우에 실패합니다.

[ENOMEM]
    key (와)과 관련짓기 위한 값의 충분한 메모리가 없습니다.

[EINVAL]
    key 의 값이 무효입니다.

관련 항목
pthread_getspecific(3), pthread_key_create(3), pthread_key_delete(3)

표준
pthread_setspecific() 하 p1003.1-96 에 적합하고 있습니다.