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

댓글

이 블로그의 인기 게시물

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

간단한 cfar 알고리즘에 대해

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

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

바로 프로젝트 적용 가능한 FIR Filter (low/high/band pass filter )를 c나 python으로 만들기