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

NAME

pthread_cleanup_push_defer_np, pthread_cleanup_pop_restore_np - μŠ€λ ˆλ“œ μ·¨μ†Œ 정리 ν•Έλ“€λŸ¬ μ§‘μ–΄λ„£κ³  κΊΌλ‚΄λ©΄μ„œ μ·¨μ†Œ κ°€λŠ₯μ„± μœ ν˜•λ„ μ €μž₯ν•˜κΈ°

SYNOPSIS

#include <pthread.h>

void pthread_cleanup_push_defer_np(void (*routine)(void *),
                                   void *arg);
void pthread_cleanup_pop_restore_np(int execute);

-pthread둜 링크.

DESCRIPTION

이 ν•¨μˆ˜λ“€μ€ 이 νŽ˜μ΄μ§€μ—μ„œ μ–ΈκΈ‰ν•˜λŠ” 차이듀을 μ œμ™Έν•˜λ©΄ pthread_cleanup_push(3) 및 pthread_cleanup_pop(3)κ³Ό κ°™λ‹€.

pthread_cleanup_push_defer_np()λŠ” pthread_cleanup_push(3)처럼 μŠ€λ ˆλ“œμ˜ μ·¨μ†Œ 정리 ν•Έλ“€λŸ¬ μŠ€νƒμ— routine을 μ§‘μ–΄λ„£λŠ”λ‹€. 그에 λ”ν•΄μ„œ μŠ€λ ˆλ“œμ˜ ν˜„μž¬ μ·¨μ†Œ κ°€λŠ₯μ„± μœ ν˜•μ„ μ €μž₯ν•˜κ³  μ·¨μ†Œ κ°€λŠ₯μ„± μœ ν˜•μ„ "μ—°κΈ°"둜 μ„€μ •ν•œλ‹€. (pthread_setcanceltype(3) μ°Έκ³ .) μ΄λ ‡κ²Œ ν•˜λ©΄ 호좜 전에 μŠ€λ ˆλ“œμ˜ μ·¨μ†Œ κ°€λŠ₯μ„± μœ ν˜•μ΄ "비동기"μ˜€λ˜ κ²½μš°μ—λ„ μ·¨μ†Œ 정리가 μΌμ–΄λ‚˜κ²Œ λœλ‹€.

pthread_cleanup_pop_restore_np()λŠ” pthread_cleanup_pop(3)처럼 μŠ€λ ˆλ“œμ˜ μ·¨μ†Œ 정리 ν•Έλ“€λŸ¬ μŠ€νƒμ—μ„œ μ΅œμƒλ‹¨μ˜ 정리 ν•Έλ“€λŸ¬λ₯Ό κΊΌλ‚Έλ‹€. 그에 λ”ν•΄μ„œ μŠ€λ ˆλ“œμ˜ μ·¨μ†Œ κ°€λŠ₯μ„± μœ ν˜•μ„ λŒ€μ‘ν•˜λŠ” pthread_cleanup_push_defer_np() 호좜 μ‹œμ μ˜ κ°’μœΌλ‘œ λ³΅μ›ν•œλ‹€.

이 ν•¨μˆ˜λ“€μ˜ 호좜이 같은 ν•¨μˆ˜ μ•ˆμ— μžˆλ„λ‘, 그리고 같은 문법적 내포 단계에 μžˆλ„λ‘ ν•΄μ•Ό ν•œλ‹€. pthread_cleanup_push(3)μ—μ„œ κΈ°μˆ ν•˜λŠ” λ‹€λ₯Έ μ œμ•½λ“€μ΄ λ§ˆμ°¬κ°€μ§€λ‘œ μ μš©λœλ‹€.

λ‹€μŒ 호좜 열이

pthread_cleanup_push_defer_np(routine, arg);
pthread_cleanup_pop_restore_np(execute);

λ‹€μŒκ³Ό λ™λ“±ν•˜λ‹€. (ν•˜μ§€λ§Œ 더 μ§§κ³  νš¨μœ¨μ μ΄λ‹€.)

int oldtype;

pthread_cleanup_push(routine, arg);
pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED, &oldtype);
...
pthread_setcanceltype(oldtype, NULL);
pthread_cleanup_pop(execute);

CONFORMING TO

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

SEE ALSO

pthread_cancel(3), pthread_cleanup_push(3), pthread_setcancelstate(3), pthread_testcancel(3), pthreads(7)


2017-09-15

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