#include <stdio.h>
#include <signal.h>
#include <string.h>
/*
typedef void (* signal_handler)(int) --定义一个signal_handler函数指针类型
signal_handler signal(int signo, signal_handler sig_handler); --声明一个signal函数,函数返回值为signal_handler函数指针类型,
入参为int型和signal_handler函数指针类型
signal函数
入参:
1.信号值
2.信号处理函数,为函数指针,指向一个无返回值,入参为int型的函数
返回值:
1.返回值为函数指针,这个函数指针也是指向一个无返回值,入参为int型的函数
返回值含义:
man手册中描述signal() returns the previous value of the signal handler,
signal_2函数对此做了解释,意思就是返回上一次处理这个信号的处理函数的地址
函数原型:
void (* signal(int signo, void (*handler)(int)))(int)
*/
#if 0
void signal_handler_1(int signo)
{
printf("signal_handler_1 input-> signo:%d-(SIGINT)\n", signo);
}
int signal_1()
{
int ret = -1;
/*signal_1 简单测试一下第一次执行signal函数的返回值*/
ret = signal(SIGINT, signal_handler_1);
printf("signal_1 output-> ret:%d-(return value)\n", ret); /*ret = 0*/
raise(SIGINT);
}
#endif
关于signal函数的返回值
最新推荐文章于 2023-11-13 14:25:30 发布