리눅스 소켓 등의 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 및 종료 시그널 처리

댓글

이 블로그의 인기 게시물

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

간단한 cfar 알고리즘에 대해

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

안드로이드(android) 전체 화면 시계 앱(clock app) 예제 코드

아두이노(arduino) 심박센서 (heart rate sensor) 심박수 측정 example code