[bcn-pm] Sys::AlarmCall
Jose Luis Perez Diez
jluis a escomposlinux.org
dij abr 2 00:51:13 PDT 2009
El Wednesday, 1 de April de 2009 15:20:54 Arnau Bria va escriure:
> si qualsevol de les funcions 1 2 i 4 fallés, sortiria amb un exit 2, i
> el programa no continuaria.
> Però quan crido el timeout, dintre de les funcions també tinc exits, i
> això no ho puc tractar, haig de posar returns i evaluar després les
> variables nfs_result...
allarm_call et retorna:
$Sys::AlarmCall::Timeout si esta trigant molt.
els valors de die ()
el valor de sortida del eval
La solució que tens mes senzilla es s/\bexit\b/die/g (usar retorns pot
forçar la refactorialització del codi).
use strict;
use warnings;
use Sys::AlarmCall;
my @Results = ( alarm_call(1,"{sleep 2}"),
alarm_call(1,"{die(0)}"),
alarm_call(1,"{die(1)}"),
alarm_call(1,"{die(2)}"),
alarm_call(1,"{return 3}") );
print "$_\tnumeric".-(-$_)."\n " for @Results;
Sortida (perl 5.10)
TIMEOUT numeric+TIMEOUT
ERROR numeric+ERROR
Argument "0 at (eval 2) line 3.\n" isn't numeric in negation (-) at arnau.pl
line 10.
0 at (eval 2) line 3.
numeric0
ERROR numeric+ERROR
Argument "1 at (eval 3) line 3.\n" isn't numeric in negation (-) at arnau.pl
line 10.
1 at (eval 3) line 3.
numeric1
ERROR numeric+ERROR
Argument "2 at (eval 4) line 3.\n" isn't numeric in negation (-) at arnau.pl
line 10.
2 at (eval 4) line 3.
numeric2
3 numeric3
Més informació sobre la llista de correu Barcelona-pm