리눅스 소켓 등의 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에서 처리하도록 하자.


[관련 포스트]

리눅스 Ctrl+C 및 종료 시그널 처리

댓글

이 블로그의 인기 게시물

간단한 cfar 알고리즘에 대해

windows에서 간단하게 크롬캐스트(Chromecast)를 통해 윈도우 화면 미러링 방법

python winsound를 이용한 윈도우 환경에서 소리 재생 예제

mkfs.fat Device or resource busy 에러 해결법

Embedded Linux USB Ethernet Gadget 사용하기