From ae226675aa803e7a38d05a1b84564c296f4995d7 Mon Sep 17 00:00:00 2001
From: Ramon Novoa <rnovoa@artica.es>
Date: Wed, 27 May 2009 17:23:28 +0000
Subject: [PATCH] 2009-05-27  Ramon Novoa  <rnovoa@artica.es>

	* lib/PandoraFMS/ReconServer.pm: Interrupt recon tasks being executed
          if the task was deleted.




git-svn-id: https://svn.code.sf.net/p/pandora/code/trunk@1717 c3f86ba8-e40f-0410-aaad-9ba5e7f4b01f
---
 pandora_server/ChangeLog                     | 5 +++++
 pandora_server/lib/PandoraFMS/ReconServer.pm | 4 +++-
 2 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/pandora_server/ChangeLog b/pandora_server/ChangeLog
index 6524448dac..fbbbcc911e 100644
--- a/pandora_server/ChangeLog
+++ b/pandora_server/ChangeLog
@@ -1,3 +1,8 @@
+2009-05-27  Ramon Novoa  <rnovoa@artica.es>
+
+	* lib/PandoraFMS/ReconServer.pm: Interrupt recon tasks being executed
+	  if the task was deleted.
+
 2009-05-27  Ramon Novoa  <rnovoa@artica.es>
 
 	* lib/PandoraFMS/Core.pm: Disabled string comparisons for
diff --git a/pandora_server/lib/PandoraFMS/ReconServer.pm b/pandora_server/lib/PandoraFMS/ReconServer.pm
index 2e9af2ede9..2f72c832aa 100644
--- a/pandora_server/lib/PandoraFMS/ReconServer.pm
+++ b/pandora_server/lib/PandoraFMS/ReconServer.pm
@@ -121,7 +121,9 @@ sub data_consumer ($$) {
 	for (my $i = 1, $net_addr++; $net_addr < $net_addr->broadcast; $i++, $net_addr++) {
 
 		my $addr = (split(/\//, $net_addr))[0];
-		update_recon_task ($dbh, $task_id, ceil ($i / ($total_hosts / 100)));
+		
+		# Update the recon task or break if it does not exist anymore
+		last if (update_recon_task ($dbh, $task_id, ceil ($i / ($total_hosts / 100))) eq '0E0');
 
 		# Does the host already exist?
         next if (get_agent_from_addr ($dbh, $addr) > 0);