sigwait

hayarobi의 이미지
4191
points

pthread에서 시그널처리 - sigwait()함수가 모든 시그널을 다 대기시킵니다.

0
points

제가 시그널 처리를 특정 쓰레드에서 해 보려고 코드를 작성해 봤습니다.

메인 쓰레드에서 pthread_sigmask로 검출하려는 시그널을 막고 막은 시그널을 하위쓰레드나 메인 쓰레드에서 sigwait()함수로 검출해 내는 방식이었죠. 이 방법이 검출하는 시그널에서는 문제가 없이 잘 돌아가는데 그 외의 시그널들에서 문제가 생기네요. sigwait함수가 대기중일 때에는 핸들러가 동작이 안 되다가 대기가 풀릴 때, 그러니까 sigwait()함수가 검출하는 시그널이 들어온 시점에서 다른 시그널 핸들러도 동작을 했습니다.

내용묶음