override fun executeWithWriteLock()

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


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