restore default behavior of unlimited concurrency when no concurrency limit is defined
Tyler Riddle [Mon, 8 Oct 2012 19:11:33 +0000 (12:11 -0700)]
lib/System/Introspector/State.pm

index 43b54fe..daebb40 100644 (file)
@@ -7,11 +7,10 @@ use JSON::Diffable qw( encode_json );
 use Scalar::Util qw(weaken);
 use System::Introspector::Gatherer;
 use System::Introspector::Logger qw( :log :dlog );
-use System::Introspector::Report;
+use System::Introspector::Gatherer::Report;
 
 has config => (is => 'ro', required => 1);
 has root => (is => 'ro', required => 1);
-#undef is unlimited concurrency
 
 sub user { $_[0]->config->user }
 sub sudo_user { $_[0]->config->sudo_user }
@@ -27,8 +26,13 @@ sub gather {
         log_info { my $c = scalar(@hosts); "This gather run is for $c hosts" };
         
         while(scalar(@hosts) > 0) {
-            my @scan = splice(@hosts, 0, $concurrent_max);     
-            my @waiting;
+            my (@scan, @waiting);
+            
+            if (defined($concurrent_max)) {
+                @scan = splice(@hosts, 0, $concurrent_max);  
+            } else {
+                @scan = @hosts;
+            }
         
             Dlog_trace { my $c = scalar(@scan); "Scanning $c hosts in this gather loop" } @scan;