NAME

pthread_mutex_consistent - 견고 뮤텍스를 일관적 상태로 만들기

SYNOPSIS

#include <pthread.h>

int pthread_mutex_consistent(pthread_mutex_t *mutex);

-pthread로 컴파일 및 링크.

glibc 기능 확인 매크로 요건 (feature_test_macros(7) 참고):

pthread_mutex_consistent():
_POSIX_C_SOURCE >= 200809L

DESCRIPTION

이 함수는 견고 뮤텍스가 비일관 상태이면 정상 상태로 만든다. 소유자가 뮤텍스를 잡은 채 종료하면 뮤텍스가 비일관 상태로 남을 수 있는데, 그 경우에 그 뮤텍스를 획득하는 다음 소유자는 pthread_mutex_lock() 호출에 성공하면서 EOWNERDEAD 반환 값으로 알림을 받게 된다.

RETURN VALUE

성공 시 pthread_mutex_consistent()는 0을 반환한다. 아니면 오류를 나타내는 양수 오류 번호를 반환한다.

ERRORS

EINVAL
뮤텍스가 견고가 아니거나 비일관 상태가 아니다.

VERSIONS

glibc 버전 2.12에서 pthread_mutex_consistent()가 추가되었다.

CONFORMING TO

POSIX.1-2008.

NOTES

pthread_mutex_consistent()는 뮤텍스가 보호하는 상태(공유 데이터)가 정상 상태로 복구되었고 이제 그 뮤텍스로 정상적인 동작을 수행할 수 있다는 것을 구현에게 알릴 뿐이다. pthread_mutex_consistent()를 호출하기 전에 공유 데이터를 정상 상태로 복구하는 것은 응용의 책임이다.

POSIX에 pthread_mutex_consistent()가 추가되기 전에 glibc에서는 _GNU_SOURCE가 정의된 경우 동등한 다음 비표준 함수를 정의하였다.

int pthread_mutex_consistent_np(const pthread_mutex_t *mutex);

이 GNU 전용 API는 glibc 2.4에서 처음 등장했으며, 현재는 구식이 되었으므로 새 프로그램에서 쓰지 말아야 한다.

EXAMPLES

pthread_mutexattr_setrobust(3) 참고.

SEE ALSO

pthread_mutex_lock(3), pthread_mutexattr_init(3), pthread_mutexattr_getrobust(3), pthread_mutexattr_setrobust(3), pthreads(7)


2021-03-22