diff options
-rw-r--r-- | lib/facter/processor.rb | 41 |
1 files changed, 22 insertions, 19 deletions
diff --git a/lib/facter/processor.rb b/lib/facter/processor.rb index 2753806..f353e71 100644 --- a/lib/facter/processor.rb +++ b/lib/facter/processor.rb @@ -18,28 +18,31 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA # -processor_num = -1 -processor_list = [] -File.readlines("/proc/cpuinfo").each do |l| - if l =~ /processor\s+:\s+(\d+)/ - processor_num = $1.to_i - elsif l =~ /model name\s+:\s+(.*)\s*$/ - processor_list[processor_num] = $1 unless processor_num == -1 - processor_num = -1 - end -end - -Facter.add("ProcessorCount") do - setcode do - processor_list.length.to_s - end -end +if Facter.kernel == "Linux" + processor_num = -1 + processor_list = [] + File.readlines("/proc/cpuinfo").each do |l| + if l =~ /processor\s+:\s+(\d+)/ + processor_num = $1.to_i + elsif l =~ /model name\s+:\s+(.*)\s*$/ + processor_list[processor_num] = $1 unless processor_num == -1 + processor_num = -1 + end + end -processor_list.each_with_index do |desc, i| - Facter.add("Processor#{i}") do + Facter.add("ProcessorCount") do confine :kernel => :linux setcode do - desc + processor_list.length.to_s + end + end + + processor_list.each_with_index do |desc, i| + Facter.add("Processor#{i}") do + confine :kernel => :linux + setcode do + desc + end end end end |