Perl XS模块中的信号处理程序

Perl XS模块中的信号处理程序,perl,signals,perl-xs,Perl,Signals,Perl Xs,对于一些基于C的库,我有非常简单的构造函数和析构函数。好的,我需要捕捉诸如TERM和其他的信号来强制析构函数调用perl的强制死亡,比如使用killall perl。 事实上,对于要安装的每个对象,我需要本地$SIG{TERM},写在XS构造函数中。可能吗? !塔克斯 不完全是。信号发送到进程并被进程捕获,而不是对象 另一种方法可能是维护一个必须清理的所有对象的全局列表,并安装一个信号处理程序来清理该列表中的每个对象。谢谢。这对我来说很清楚。我将尝试在my.pm中创建一个包含所有活动对象的全局数

对于一些基于C的库,我有非常简单的构造函数和析构函数。好的,我需要捕捉诸如TERM和其他的信号来强制析构函数调用perl的强制死亡,比如使用
killall perl
。 事实上,对于要安装的每个对象,我需要本地$SIG{TERM},写在XS构造函数中。可能吗?
!塔克斯

不完全是。信号发送到进程并被进程捕获,而不是对象


另一种方法可能是维护一个必须清理的所有对象的全局列表,并安装一个信号处理程序来清理该列表中的每个对象。

谢谢。这对我来说很清楚。我将尝试在my.pm中创建一个包含所有活动对象的全局数组,以便在发出信号后对其进行清理。问题是如何在MyModule.xs中创建一个信号处理程序,因为我希望将此清理数组保留在此模块中