Skip to content

Commit 934ab5b

Browse files
committed
Make CompilerClassLoader#fixBridgeLoader synchronized
This method could be called from multiple threads since sbt could run multiple `compile` task in parallel.
1 parent d773a32 commit 934ab5b

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

sbt-bridge/src/xsbt/CompilerClassLoader.scala

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -80,8 +80,9 @@ object CompilerClassLoader {
8080
* @param bridgeLoader The classloader that sbt uses to load the compiler bridge
8181
* @return A fixed classloader that works with dotty
8282
*/
83-
def fixBridgeLoader(bridgeLoader: ClassLoader): ClassLoader =
83+
def fixBridgeLoader(bridgeLoader: ClassLoader): ClassLoader = synchronized {
8484
fixedLoaderCache.getOrElseUpdate(bridgeLoader, computeFixedLoader(bridgeLoader))
85+
}
8586

8687
private[this] def computeFixedLoader(bridgeLoader: ClassLoader) = bridgeLoader match {
8788
case bridgeLoader: URLClassLoader =>

0 commit comments

Comments
 (0)