$OpenBSD: patch-lib_src_facts_resolvers_processor_resolver_cc,v 1.1 2015/08/11 20:20:35 jasper Exp $

From 0da584e3bc09fa13fcc9eda7a0479790285009eb Mon Sep 17 00:00:00 2001
From: Kylo Ginsberg <kylo@puppetlabs.com>
Date: Sat, 8 Aug 2015 20:40:38 -0700
Subject: [PATCH] (maint) Treat zero processor counts as missing facts

--- lib/src/facts/resolvers/processor_resolver.cc.orig	Tue Jul 21 19:31:28 2015
+++ lib/src/facts/resolvers/processor_resolver.cc	Tue Aug 11 19:04:21 2015
@@ -37,11 +37,15 @@ namespace facter { namespace facts { namespace resolve
             cpus->add("isa", make_value<string_value>(move(data.isa)));
         }
 
-        facts.add(fact::processor_count, make_value<integer_value>(data.logical_count, true));
-        cpus->add("count", make_value<integer_value>(data.logical_count));
+        if (data.logical_count > 0) {
+            facts.add(fact::processor_count, make_value<integer_value>(data.logical_count, true));
+            cpus->add("count", make_value<integer_value>(data.logical_count));
+        }
 
-        facts.add(fact::physical_processor_count, make_value<integer_value>(data.physical_count, true));
-        cpus->add("physicalcount", make_value<integer_value>(data.physical_count));
+        if (data.physical_count > 0) {
+            facts.add(fact::physical_processor_count, make_value<integer_value>(data.physical_count, true));
+            cpus->add("physicalcount", make_value<integer_value>(data.physical_count));
+        }
 
         if (data.speed > 0) {
             cpus->add("speed", make_value<string_value>(frequency(data.speed)));
@@ -58,7 +62,9 @@ namespace facter { namespace facts { namespace resolve
             cpus->add("models", move(models));
         }
 
-        facts.add(fact::processors, move(cpus));
+        if (!cpus->empty()) {
+            facts.add(fact::processors, move(cpus));
+        }
     }
 
 }}}  // namespace facter::facts::resolvers
