summaryrefslogtreecommitdiffstats
path: root/lib
diff options
context:
space:
mode:
authorluke <luke@1f5c1d6a-bddf-0310-8f58-fc49e503516a>2006-06-27 05:33:41 +0000
committerluke <luke@1f5c1d6a-bddf-0310-8f58-fc49e503516a>2006-06-27 05:33:41 +0000
commitc2aa5086ab55da9c708d962b84a1b85404fc6329 (patch)
treed143d6c204eaa07009b1782bdd95d0cd5f0c04a9 /lib
parentace180f3ecfac50fe0cef9bd3e11ff7e209f8f9a (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.rb10
-rw-r--r--lib/facter/processor.rb16
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