Please sign in to comment.
Restore concurrent requires
When #8374 was fixed all requires were serialized, so one thread would be blocked waiting for gem resolution (if any) and require in another thread. This is undesirable for JRuby, in particular. The monitor protecting the RubyGems internals only needs to cover gem activation and modifying $LOAD_PATH, not requiring files. Now the monitor is released before calling the original Kernel#require which allows other threads to require files without waiting for RubyGems. Fixes #640 See also #637
- Loading branch information...
Showing with 31 additions and 4 deletions.