/*-----------------------------------------------------
函数:tst_sig_base
功能:注册信号处理函数基本功能测试。
说明:pause()在信号处理函数执行完毕后返回,打印字符串"Got a signal";
*/
void sig_handler(int sig)
{
printf("sig(%d) begin\r\n",sig);
return ;
}
int tst_sig_base(void)
{
struct sigaction sig_act;
sigset_t sig_set;
int cnt = 0;
sigemptyset(&sig_set);
sig_act.sa_handler = sig_handler;
sig_act.sa_mask = sig_set;
sig_act.sa_flags = 0;
if(sigaction(SIGINT, &sig_act,NULL))
{
printf("sigaction error:%s\n",strerror(errno));
return -1;
}
while(cnt < 4)
{
pause();
printf("Got a signal\r\n");
cnt ++;
}
return 0;
}