diff options
Diffstat (limited to 'lib/puppet/util')
-rw-r--r-- | lib/puppet/util/autoload.rb | 8 | ||||
-rw-r--r-- | lib/puppet/util/feature.rb | 2 | ||||
-rw-r--r-- | lib/puppet/util/monkey_patches.rb | 1 |
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 |