Ruby.newInstance(RubyInstanceConfig) should not unconditionally setGlobalRuntime. This is fine for jrubyc, but it should use some other method for standing up a runtime instance. ScriptingContainer when not a SINGLETON ends up starting up potentially n runtimes typically in different classloaders. The terminate() of ScriptingContainer does not unset this (I think you can argue it shouldn't unless global runtime == this) and then leaks a runtime. ScriptingContainer users can Ruby.clearGlobalRuntime() but this is weird.
The text was updated successfully, but these errors were encountered:
From: http://jira.codehaus.org/browse/JRUBY-7082.
Ruby.newInstance(RubyInstanceConfig) should not unconditionally setGlobalRuntime. This is fine for jrubyc, but it should use some other method for standing up a runtime instance. ScriptingContainer when not a SINGLETON ends up starting up potentially n runtimes typically in different classloaders. The terminate() of ScriptingContainer does not unset this (I think you can argue it shouldn't unless global runtime == this) and then leaks a runtime. ScriptingContainer users can Ruby.clearGlobalRuntime() but this is weird.
The text was updated successfully, but these errors were encountered: