用Ctrl + C中斷下面的程序會導致perl 5.10.0出現「Segmentation fault」。它與perl 5.8.8正常工作。任何想法爲什麼?Perl 5.10.0信號處理程序問題
#!/usr/bin/perl
# just changing the shebang line to use perl 5.10.0 causes it to seg fault
# when interrupted with Ctrl + C
use strict;
use warnings;
$SIG{INT}=\&clean;
sub clean {
print 'caught';
}
sleep 10;
(從Problem with perl signal INT採取程序)
Perl的5.10版本是:
$ perl5.10.0 -v
This is perl, v5.10.0 built for i686-linux-thread-multi
(with 3 registered patches, see perl -V for more detail)
Copyright 1987-2007, Larry Wall
Binary build 1002 [283697] provided by ActiveState http://www.ActiveState.com
Built Jan 10 2008 07:35:18
...
Linux發行版:
$ cat /proc/version
Linux version 2.6.18-128.7.1.el5 ([email protected])
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Aug 19 04:00:49 EDT 2009
感謝
我強烈建議您在http://www.perlmonks.org/而不是此處發佈此問題。那裏有更多的Perl人可以在更多的平臺上測試它,並且誰可能知道這樣的錯誤。如果它仍然是當前Perl平臺中的一個bug,那麼它應該用'perlbug'實用程序來報告。 – btilly 2011-04-06 02:41:30
爲什麼5.10.0?你有沒有試過5.10.1甚至5.12.3? – Ether 2011-04-06 03:11:10
nope。這是我們在系統中最新的功能。我可以建立自己的,但我幾乎是作爲最後的手段來做到這一點。 – beluchin 2011-04-06 03:13:43