시그널이 블록당하는것은 어떤 경우이죠?
글쓴이: gnugpl / 작성시간: 수, 2003/07/02 - 11:48오전
sigset_t sigSet, sigOct; sigemptyset( &sigSet ); sigaddset( &sigSet, SIGINT ); sigaddset( &sigSet, SIGTERM ); sigaddset( &sigSet, SIGHUP ); sigaddset( &sigSet, SIGCHLD ); sigaddset( &sigSet, SIGUSR1 ); sigaddset( &sigSet, SIGUSR2 ); pthread_sigmask( SIG_BLOCK, &sigSet, &sigOct ); ################ 간단한 flag 마스킹 ################ pthread_sigmask( SIG_BLOCK, &sigOct, NULL );
핸들러 내의 코드입니다.
프로그램은 멀티 쓰레드 입니다.
시그널 마스킹을 한곳은 메인 쓰레드입니다.
1000번중에 한번정도
시그널을 발생시키면 flag 마스킹
위치에서 블록 당합니다.
동시에 각 쓰레드들도 작동을 멈춥니다.
쓰레드에서는 소켓통신을 수행하고 있습니다.
더 자세한 사항이 필요하시면 말씀해 주세요..
감사합니다.
Forums:
테스트는 해보지 않았지만, 이렇게 해보세요... 음... 그리
테스트는 해보지 않았지만,
이렇게 해보세요...
음... 그리고, 결과를 알려주시기 바랍니다.
여러가지 방법을 취해보아야 겠네요... -_-;;;
그리고,
좀더 자세한 동작 방법을 설명해 주시기 바랍니다.
댓글 달기