override fun cleanup()

in intellij-plugin-verifier/verifier-repository/src/main/java/com/jetbrains/pluginverifier/repository/resources/ResourceRepositoryImpl.kt [328:360]


  override fun cleanup() {
    if (maybeCleanup()) {
      return
    }
    // wait for another running cleanup, run one more from the current thread
    var skipped = 0
    while (true) {
      val stop = cleanupState.lock.withLock {
        if (cleanupState.running) {
          cleanupState.condition.await()
        }
        if (!cleanupState.running) {
          cleanupState.running = true
          skipped = cleanupState.skipped
          true
        } else {
          false
        }
      }
      if (stop) {
        break
      }
    }
    try {
      doCleanup()
    } finally {
      cleanupState.lock.withLock {
        cleanupState.running = false
        cleanupState.skipped -= skipped
        cleanupState.condition.signalAll()
      }
    }
  }