성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을
설정한다. kill(2)과 매우 비슷하게 작동하며, kill(2)과 마찬가지로
null 시그널(:12)을 이용해서 프로세스가 존재하는지 확인하기 위한
목적으로 사용할 수도 있다.
value를 이용해서 시그널과 함께 필요한 데이터를
함께 전송할수도 있다. value는 다음과 같은 타입을 가진다.
union sigval
{
int sival_int;
void *sival_ptr;
};
만약 시그널과 함께 데이터를 전송 받기를 원한다면 sigaction(2)을
이용해서 SA_SIGINFO플레그를 설정하고
시그널핸들러의 두번째 인자를 siginfo_t로
설정하면 된다. 받는측 에서는 대기열 기반 시그널인지 확인을
위해서 siginfo_t의 si_code
가 SI_QUEUE인지를 검사하면 된다.
1장. sigqueue(2)
대기열 기반 시그널및 데이터 전송
1.1절. 사용법
1.2절. 설명
sigqueue는 지정된 시그널번호 sig를 PID가 pid인 프로세스 에게 보낸다.
1.3절. 반환값
성공할경우 0을 실패했을경우에는 -1을 반환하며, 적당한 errno 값을 설정한다. kill(2)과 매우 비슷하게 작동하며, kill(2)과 마찬가지로 null 시그널(:12)을 이용해서 프로세스가 존재하는지 확인하기 위한 목적으로 사용할 수도 있다.
value를 이용해서 시그널과 함께 필요한 데이터를 함께 전송할수도 있다. value는 다음과 같은 타입을 가진다.
1.4절. 에러
잘못된 시그널
신호를 받을 프로세스에 대한 권한이 없다.
신호를 받을 프로세스의 PID가 존재하지 않는다.
1.5절. 예제
Recent Posts
Archive Posts
Tags