[bcn-pm] Sys::AlarmCall
Arnau Bria
arnau a emergetux.net
div mar 20 09:05:14 PDT 2009
Hola a tots,
tinc una pregunta sobre el timeout que dona AlarmCall.
L'he posat perque cridi un parell de funcions i ho he fet així:
my $nfs_result = alarm_call($nfs_timeout,'&nfs_mount');;
my $result = alarm_call($ce_ssh_timeout,'&llaves_CE');
de tal forma que després miro els resultats de les variables nfs_result
i result per treure un missatge d'erro un altre amb un simple if/elsif:
if ($nfs_result != 0 ){
&return_ERROR("[KO]: Timeout 1 NFS\n");
}elsif ($result != 0){
&return_ERROR("[KO]: Timeout 2 \n");
}else{
&return_OK("[OK]: if");
}
i les funcions de retorn només treuen per pantalla el missatge i fan
un exit:
sub return_ERROR () {
print "$_[0]";
exit 2;
}
sub return_OK () {
print "$_[0]";
exit 0;
}
*Això és per un sensor a nagios, per això els exits 0 i 2.
Dintre de les funcions nfs_mount i llaves_CE també hi ha return_ERROR,
és adir, alguna d'aquestes funcions pot sortir amb exit 2, i abortaria
el programa.
Doncs bé, no se ni com ni perque a vegades tinc un misstage que diu:
2* [OK]
És a dir, l'script surt amb l'OK però el valor de retorn és un 2.
No entenc com pot passar això, algú m'il·lumina, si us plau? A la
documentació del timeout no parla de forks... només se m'acud que
estigui agafant el exit 2 d'alguna funció (peruqe falli algo) després
de que el timeout s'hagi acomplert...
Gràcies a tots!
--
Arnau Bria
http://blog.emergetux.net
Bombing for peace is like fucking for virginity
Més informació sobre la llista de correu Barcelona-pm