private void acquireDestroyWriteLock(long millis) {
    for (;;) {
      boolean interrupted = Thread.interrupted();
      try {
        dm.getCancelCriterion().checkCancelInProgress(null);
        boolean acquired = destroyLock.writeLock().tryLock(millis);
        if (acquired) {
          return;
        }
      } catch (InterruptedException e) {
        interrupted = true;
      } finally {
        if (interrupted) {
          Thread.currentThread().interrupt();
        }
      }
    }
  }
Acquires the write lock on the destroy ReadWrite lock within specified millis.

@param millis the milliseconds to attempt to acquire the lock within
@throws DistributedSystemDisconnectedException if system has been disconnected
geode-core/src/main/java/org/apache/geode/distributed/internal/locks/DLockGrantor.java