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:
Natalia Selezneva
2018-12-12 15:29:20 +03:00
parent 8ceae8bd6d
commit 6042a3a0f7
@@ -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!!
}