diff --git a/src/host/Host.cc b/src/host/Host.cc index 9f5d6d083e..bb42a7c3f5 100644 --- a/src/host/Host.cc +++ b/src/host/Host.cc @@ -251,7 +251,8 @@ int Host::update_info(Template &tmpl, ostringstream zombie; ostringstream wild; - set::iterator set_it; + set::iterator set_it; + map::iterator map_it; set prev_tmp_lost = tmp_lost_vms; set prev_tmp_zombie = tmp_zombie_vms; @@ -406,6 +407,19 @@ int Host::update_info(Template &tmpl, } } + for(map_it = found.begin(); map_it != found.end(); ) + { + if ( one_util::regex_match("STATE=. ",map_it->second.c_str()) != 0 ) + { + tmp_lost_vms.insert(map_it->first); + found.erase(map_it++); + } + else + { + ++map_it; + } + } + for(set_it = tmp_lost_vms.begin(); set_it != tmp_lost_vms.end(); set_it++) { // Reported as lost at least 2 times?