pthread_tryjoin_np(3) - wariua/manpages-ko GitHub Wiki

NAME

pthread_tryjoin_np, pthread_timedjoin_np - μ’…λ£Œν•œ μŠ€λ ˆλ“œμ™€ ν•©λ₯˜ μ‹œλ„ν•˜κΈ°

SYNOPSIS

#define _GNU_SOURCE             /* feature_test_macros(7) μ°Έκ³  */
#include <pthread.h>

int pthread_tryjoin_np(pthread_t thread, void **retval);

int pthread_timedjoin_np(pthread_t thread, void **retval,
                         const struct timespec *abstime);

-pthread둜 컴파일 및 링크.

DESCRIPTION

이 ν•¨μˆ˜λ“€μ€ 이 νŽ˜μ΄μ§€μ—μ„œ κΈ°μˆ ν•˜λŠ” 차이듀을 μ œμ™Έν•˜λ©΄ pthread_join(3)κ³Ό 같은 λ°©μ‹μœΌλ‘œ λ™μž‘ν•œλ‹€.

pthread_tryjoin_np() ν•¨μˆ˜λŠ” μŠ€λ ˆλ“œ thread와 λ…ΌλΈ”λ‘œν‚Ή ν•©λ₯˜λ₯Ό μˆ˜ν–‰ν•˜μ—¬ κ·Έ μŠ€λ ˆλ“œμ˜ μ’…λ£Œ μƒνƒœλ₯Ό *retval에 λ°˜ν™˜ν•œλ‹€. threadκ°€ 아직 μ’…λ£Œν•˜μ§€ μ•Šμ•˜μœΌλ©΄ pthread_join(3)처럼 블둝 ν•˜μ§€ μ•Šκ³  호좜이 였λ₯˜λ₯Ό λ°˜ν™˜ν•œλ‹€.

pthread_timedjoin_np() ν•¨μˆ˜λŠ” νƒ€μž„μ•„μ›ƒ μžˆλŠ” ν•©λ₯˜λ₯Ό μˆ˜ν–‰ν•œλ‹€. threadκ°€ 아직 μ’…λ£Œν•˜μ§€ μ•Šμ•˜μœΌλ©΄ abstime에 μ§€μ •ν•œ μ΅œλŒ€ μ‹œκ°„κΉŒμ§€ 호좜이 블둝 ν•œλ‹€. threadκ°€ μ’…λ£Œν•˜κΈ° 전에 νƒ€μž„μ•„μ›ƒμ΄ λ§Œλ£Œν•˜λ©΄ 호좜이 였λ₯˜λ₯Ό λ°˜ν™˜ν•œλ‹€. abstime μΈμžλŠ” λ‹€μŒ ν˜•νƒœμ˜ ꡬ쑰체이며 에포크 κΈ°μ€€μœΌλ‘œ μΈ‘μ •ν•œ μ ˆλŒ€ μ‹œκ°„μ„ λ‚˜νƒ€λ‚Έλ‹€. (time(2) μ°Έκ³ .)

struct timespec {
    time_t tv_sec;     /* 초 */
    long   tv_nsec;    /* λ‚˜λ…Έμ΄ˆ */
};

RETURN VALUE

성곡 μ‹œ 이 ν•¨μˆ˜λ“€μ€ 0을 λ°˜ν™˜ν•œλ‹€. 였λ₯˜ μ‹œ 였λ₯˜ 번호λ₯Ό λ°˜ν™˜ν•œλ‹€.

ERRORS

이 ν•¨μˆ˜λ“€μ€ pthread_join(3)κ³Ό 같은 였λ₯˜λ‘œ μ‹€νŒ¨ν•  수 μžˆλ‹€. λ”λΆˆμ–΄ pthread_tryjoin_np()κ°€ λ‹€μŒ 였λ₯˜λ‘œ μ‹€νŒ¨ν•  수 μžˆλ‹€.

EBUSY
호좜 μ‹œμ μ— threadκ°€ 아직 μ’…λ£Œν•˜μ§€ μ•Šμ•˜λ‹€.

λ”λΆˆμ–΄ pthread_timedjoin_np()κ°€ λ‹€μŒ 였λ₯˜λ‘œ μ‹€νŒ¨ν•  수 μžˆλ‹€.

ETIMEDOUT
threadκ°€ μ’…λ£Œν•˜κΈ° 전에 호좜 μ‹œν•œμ΄ λ„˜μ–΄κ°”λ‹€.
EINVAL
abstime 값이 μœ νš¨ν•˜μ§€ μ•Šλ‹€. (tv_sec이 0보닀 μž‘κ±°λ‚˜ tv_nsec이 1e9보닀 크닀.)

pthread_timedjoin_np()λŠ” μ ˆλŒ€ EINTR 였λ₯˜λ₯Ό λ°˜ν™˜ν•˜μ§€ μ•ŠλŠ”λ‹€.

VERSIONS

glibc 버전 2.3.3μ—μ„œ 이 ν•¨μˆ˜λ“€μ΄ 처음 λ“±μž₯ν–ˆλ‹€.

ATTRIBUTES

이 μ ˆμ—μ„œ μ‚¬μš©ν•˜λŠ” μš©μ–΄λ“€μ— λŒ€ν•œ μ„€λͺ…은 attributes(7)λ₯Ό 보라.

μΈν„°νŽ˜μ΄μŠ€ 속성 κ°’
pthread_tryjoin_np(),
pthread_timedjoin_np()
μŠ€λ ˆλ“œ μ•ˆμ „μ„± MT-Safe

CONFORMING TO

이 ν•¨μˆ˜λ“€μ€ λΉ„ν‘œμ€€ GNU ν™•μž₯이닀. κ·Έλž˜μ„œ 이름 뒀에 "_np"(nonportable: 이식성 μ—†μŒ)κ°€ λΆ™μ–΄ μžˆλ‹€.

EXAMPLE

λ‹€μŒ μ½”λ“œλŠ” μ΅œλŒ€ 5초 λ™μ•ˆ ν•©λ₯˜λ₯Ό κΈ°λ‹€λ¦°λ‹€.

struct timespec ts;
int s;

...

if (clock_gettime(CLOCK_REALTIME, &ts) == -1) {
    /* 였λ₯˜ 처리 */
}

ts.tv_sec += 5;

s = pthread_timedjoin_np(thread, NULL, &ts);
if (s != 0) {
    /* 였λ₯˜ 처리 */
}

SEE ALSO

clock_gettime(2), pthread_exit(3), pthread_join(3), pthreads(7)


2017-09-15

⚠️ **GitHub.com Fallback** ⚠️