리눅스 소켓 등의 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)를 통해 윈도우 화면 미러링 방법

쉽게 설명한 파티클 필터(particle filter) 동작 원리와 예제

base64 인코딩 디코딩 예제 c 소스

간단한 칼만 필터(Kalman Filter) 소스 코드와 사용 예제