Scripts: fix NPE during accessing ScriptDependenciesCache
Getting value from SLRUMap needs write lock, because it can move value from one queue to another EA-105195 Fixed
This commit is contained in:
@@ -163,11 +163,9 @@ private class ClearableLazyValue<in R, out T : Any>(
|
||||
private val compute: () -> T
|
||||
) : ReadOnlyProperty<R, T> {
|
||||
override fun getValue(thisRef: R, property: KProperty<*>): T {
|
||||
lock.read {
|
||||
lock.write {
|
||||
if (value == null) {
|
||||
lock.write {
|
||||
value = compute()
|
||||
}
|
||||
value = compute()
|
||||
}
|
||||
return value!!
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user