Perl 5.10.0 Ошибка обработчика сигналов - PullRequest
2 голосов
/ 06 апреля 2011

Прерывание программы ниже с помощью Ctrl + C вызывает «Ошибка сегментации» с perl 5.10.0. Он работает правильно с Perl 5.8.8. Есть идеи почему?

#!/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;

(программа взята из Проблема с Perl-сигналом 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 (mockbuild@hs20-bc2-3.build.redhat.com)
(gcc version  4.1.2 20080704 (Red Hat 4.1.2-44)) #1 SMP Wed Aug 19 04:00:49 EDT 2009

Спасибо

1 Ответ

0 голосов
/ 06 апреля 2011

Вам нужно будет предоставить некоторые дополнительные сведения, например, какую операционную систему / версию вы используете, используете ли вы системный perl, perlbrew, активный perl и т. Д. Попытка сделать это с Perl 5.12.3, построенным изPerlbrew на Snow Leopard, я не могу воспроизвести проблему.

Я бы также следовал предложению спросить и на perlmonks.org.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...