当前位置: 技术问答>linux和unix
c++中怎么写sigaction()中的信号处理函数
来源: 互联网 发布时间:2016-10-30
本文导语: class B { ................ } class A { public: A(); static void sigterm(int signo)//信号处理函数 { b=1; ...............
class B
{
................
}
class A
{
public:
A();
static void sigterm(int signo)//信号处理函数
{
b=1;
....................
}
private;
B b;
}
sigaction sa;
sa.sa_handler=sigterm;
sa.sa_flags=0;
sigation(SIGTERM,&sa,NULL);
由于,sigterm设置为static的 ,所以不存在了隐式的this指针了
所以就不能调用A类的成员了(如B b),怎么解决呢?
怎么把this指针作为参数传入信号处理函数中呢?以便让它能调用当前对象的成员
|
用一个普通函数,里面定义一个类的局部对象,可否?