L'interruption du programme ci-dessous avec Ctrl + C provoque une "erreur de segmentation" avec Perl 5.10.0. Cela fonctionne correctement avec perl 5.8.8. Une idée pourquoi?Perl 5.10.0 Gestionnaire de signal Problème
#!/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;
(programme de prise Problem with perl signal INT)
Le Perl 5.10 version est:
$ 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
...
La distribution 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
Merci
Je vous recommande fortement de publier ce problème sur http://www.perlmonks.org/ au lieu d'ici. Il y a beaucoup plus de Perl qui peuvent le tester sur beaucoup plus de plates-formes, et qui peuvent connaître des bugs comme celui-ci. S'il s'agit toujours d'un bogue dans les plates-formes Perl actuelles, il devrait être définitivement signalé avec l'utilitaire 'perlbug'. – btilly
Pourquoi 5.10.0? Avez-vous essayé 5.10.1 ou même 5.12.3? – Ether
non. C'est la dernière fois que nous avons accès à nos systèmes. Je pourrais construire le mien mais je le ferais presque en dernier recours. – beluchin