override fun executeWithReadLock()

in plugin-rust-agent/src/main/kotlin/jetbrains/buildServer/rust/RustCommandExecutor.kt [18:27]


    override fun executeWithReadLock(toolPath: String, arguments: List<String>): String {
        locks.putIfAbsent(toolPath, ReentrantReadWriteLock())
        val readLock = locks[toolPath]!!.readLock()
        readLock.lock()
        try {
            return execute(toolPath, arguments)
        } finally {
            readLock.unlock()
        }
    }