리눅스 소켓 등의 IO 시그널 sigio 처리
IO 시그널 처리
소켓, uart등의 io 시그널 처리방법은 아래와 같다.
#include <sys/signal.h>
void sigio_handler(int status)
{
}
struct sigaction saio;
saio.sa_handler = sigio_handler;
sigemptyset(&saio.sa_mask);
saio.sa_flags = 0;
saio.sa_restorer = NULL;
sigaction(SIGIO,&saio,NULL);
1. 위 코드를 사용하여 IO 시그널이 발생할 때 호출될 함수를 등록한다.
2. IO 시그널이 발생하여 핸들러 함수가 호출되면 이벤트를 처리한다.
Note: sigio처리는 thread가 아는 process에서 처리하도록 하자.
댓글
댓글 쓰기