internetarchive/heritrix3 — pull request #10 by travisfw (2012-05-31 23:16:02+00:00)
Title: ScriptedDecideRule#getEngine() rewrite for better synchronization and thread local mgmt

Previously the whole method was synchronized even if threadlocals
were used (which are thread safe). And previously the sharedEngine
was set and returned only when it /was not/ needed ie when
getIsolateThreads() returned true.

Now getEngine does what it says it does.

This bug likely would be difficult to notice, as using thread local threadEngine instead of the sharedEngine would not cause major exceptions, and the class has not seen extensive use inside the Internet Archive to my knowledge anyhow.