Chinaunix

标题: 调用signal KILL 出错 [打印本页]

作者: lbbds    时间: 2012-10-29 18:07
标题: 调用signal KILL 出错
我在调用signal 去KILL一个子线程时,出现错误,Thread 91 terminated abnormally:Signal KILL received in thread 91, but no signal handler set.

原因可能是创建线程后,线程还没运行起来,就直接调用$readpipe_tid->kill('KILL')->detach(),所以即使线程中第一句是$SIG{'KILL'} = sub { threads->exit(); },却任然返回错误。

所以,我想在调用$readpipe_tid->kill('KILL')->detach()之前,先在父进程中判断一下是否子线程已经运行并执行了$SIG{'KILL'} = sub { threads->exit(); }这句,大家有什么好方法嘛?比如子线程发送信号啥的

谢谢
作者: lbbds    时间: 2012-10-29 20:58
唉,老是在这提问没有人回答。是我的问题不清楚吗?有个人答应声也行啊
作者: Perlvim    时间: 2012-10-29 21:27
从来没玩过线程,不清楚有什么用。
作者: lbbds    时间: 2012-10-29 23:33
至少回复了,谢谢
作者: yybmsrs    时间: 2012-10-30 09:27
$SIG{'KILL'}能这么用吗?
作者: sjdy521    时间: 2012-10-30 15:03
这个threads模块,很多class method也当obj method用,看文档真够晕够恶心的
作者: cindy9902    时间: 2015-03-26 15:20
我也遇到了同样的问题,想知道是怎么解决的。。。。
作者: 末日战狂    时间: 2015-04-02 18:06
水军出没....




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2