diff options
| author | luke <luke@1f5c1d6a-bddf-0310-8f58-fc49e503516a> | 2006-06-27 05:33:41 +0000 |
|---|---|---|
| committer | luke <luke@1f5c1d6a-bddf-0310-8f58-fc49e503516a> | 2006-06-27 05:33:41 +0000 |
| commit | c2aa5086ab55da9c708d962b84a1b85404fc6329 (patch) | |
| tree | d143d6c204eaa07009b1782bdd95d0cd5f0c04a9 /lib | |
| parent | ace180f3ecfac50fe0cef9bd3e11ff7e209f8f9a (diff) | |
Adding thread exclusivity to memory and cpu reading
git-svn-id: http://reductivelabs.com/svn/facter/trunk@147 1f5c1d6a-bddf-0310-8f58-fc49e503516a
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/facter/memory.rb | 10 | ||||
| -rw-r--r-- | lib/facter/processor.rb | 16 |
2 files changed, 17 insertions, 9 deletions
diff --git a/lib/facter/memory.rb b/lib/facter/memory.rb index 405d61e..24678e1 100644 --- a/lib/facter/memory.rb +++ b/lib/facter/memory.rb @@ -17,11 +17,15 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA module Facter::Memory + require 'thread' + def self.meminfo_number(tag) memsize = "" - File.readlines("/proc/meminfo").each do |l| - if l =~ /^#{tag}:\s+(\d+)\s+(\S+)/ - memsize = scale_number($1.to_f, $2) + Thread::exclusive do + File.readlines("/proc/meminfo").each do |l| + if l =~ /^#{tag}:\s+(\d+)\s+(\S+)/ + memsize = scale_number($1.to_f, $2) + end end end diff --git a/lib/facter/processor.rb b/lib/facter/processor.rb index f353e71..812bd99 100644 --- a/lib/facter/processor.rb +++ b/lib/facter/processor.rb @@ -18,15 +18,19 @@ # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston MA 02110-1301 USA # +require 'thread' + 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 + Thread::exclusive do + 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 end |
