summaryrefslogtreecommitdiffstats
path: root/lib/puppet/util
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/util')
-rw-r--r--lib/puppet/util/autoload.rb8
-rw-r--r--lib/puppet/util/feature.rb2
-rw-r--r--lib/puppet/util/monkey_patches.rb1
3 files changed, 9 insertions, 2 deletions
diff --git a/lib/puppet/util/autoload.rb b/lib/puppet/util/autoload.rb
index ec2f48c7b..ceaabe46a 100644
--- a/lib/puppet/util/autoload.rb
+++ b/lib/puppet/util/autoload.rb
@@ -86,6 +86,8 @@ class Puppet::Util::Autoload
name = symbolize(name)
loaded name, file
return true
+ rescue SystemExit,NoMemoryError
+ raise
rescue Exception => detail
# I have no idea what's going on here, but different versions
# of ruby are raising different errors on missing files.
@@ -123,6 +125,8 @@ class Puppet::Util::Autoload
begin
Kernel.require file
loaded(name, file)
+ rescue SystemExit,NoMemoryError
+ raise
rescue Exception => detail
if Puppet[:trace]
puts detail.backtrace
@@ -152,7 +156,7 @@ class Puppet::Util::Autoload
end
end
- def search_directories
- [module_directories, Puppet[:libdir], $:].flatten
+ def search_directories(dummy_argument=:work_arround_for_ruby_GC_bug)
+ [module_directories, Puppet[:libdir].split(File::PATH_SEPARATOR), $:].flatten
end
end
diff --git a/lib/puppet/util/feature.rb b/lib/puppet/util/feature.rb
index add1b2691..6218eabf4 100644
--- a/lib/puppet/util/feature.rb
+++ b/lib/puppet/util/feature.rb
@@ -83,6 +83,8 @@ class Puppet::Util::Feature
begin
require lib
+ rescue SystemExit,NoMemoryError
+ raise
rescue Exception
Puppet.debug "Failed to load library '%s' for feature '%s'" % [lib, name]
return false
diff --git a/lib/puppet/util/monkey_patches.rb b/lib/puppet/util/monkey_patches.rb
index 6e438bc73..7ce1ccc1c 100644
--- a/lib/puppet/util/monkey_patches.rb
+++ b/lib/puppet/util/monkey_patches.rb
@@ -1,3 +1,4 @@
+Process.maxgroups = 1024
module RDoc
def self.caller(skip=nil)
in_gem_wrapper = false