private T withLock()

in server/src/jetbrains/buildServer/sharedResources/server/runtime/LocksStorageImpl.java [198:210]


  private <T> T withLock(Supplier<java.util.concurrent.locks.Lock> s, Callable<T> block) {
    java.util.concurrent.locks.Lock lock = s.get();
    lock.lock();
    T result = null;
    try {
      result = block.call();
    } catch (Throwable t) {
      log.warn(t);
    } finally {
      lock.unlock();
    }
    return result;
  }