rails/rails — pull request #6428 by pinetops (2012-05-21 19:26:55+00:00)
Title: Resolver concurrency fix

Re-opening #6425 for further discussion as requested by @josevalim in #6427

This is a fix for #6404

The Template cache in the Resolver can be accessed by multiple threads
similtaneously in multi-threaded environments. The cache is implemented
using a Hash, which isn't threadsafe in all VMs (notably JRuby).

This includes two commits, the first puts a global lock around the whole process.
The second improves this to add a more granular lock.