From 0a501678ee1aff808ca6765d2dc186086827dd8f Mon Sep 17 00:00:00 2001 From: ramonn Date: Tue, 23 Dec 2008 13:06:45 +0000 Subject: [PATCH] 2008-12-23 Ramon Novoa * bin/pandora_recon: Added a timeout to pandora_getparent(). The call to traceroute() would hang despite query_timeout being set. git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1302 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f --- pandora_server/ChangeLog | 5 +++++ pandora_server/bin/pandora_recon | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/pandora_server/ChangeLog b/pandora_server/ChangeLog index 41cb39a452..d2d12fa65e 100644 --- a/pandora_server/ChangeLog +++ b/pandora_server/ChangeLog @@ -1,3 +1,8 @@ +2008-12-23 Ramon Novoa + + * bin/pandora_recon: Added a timeout to pandora_getparent(). The call + to traceroute() would hang despite query_timeout being set. + 2008-12-10 Evi Vanoost * lib/PandoraFMS/DB.pm: New table layout doesn't require timestamp anymore diff --git a/pandora_server/bin/pandora_recon b/pandora_server/bin/pandora_recon index 3d33374a78..6de5ddf6d9 100755 --- a/pandora_server/bin/pandora_recon +++ b/pandora_server/bin/pandora_recon @@ -673,7 +673,13 @@ sub pandora_getparent ($$){ ); my $success = 0; - $success = $t->traceroute(); + eval { + local $SIG{ALRM} = sub { die "alarm" }; + alarm($pa_config->{"networktimeout"}); + $success = $t->traceroute(); + alarm(0); + }; + if ($t->hops > 1){ if ($success){ my $parent_ip = $t->hop_query_host($t->hops-1,0);