try { try { acquireWriteLock(dr); gotLock = true; } catch (CancelException ignore) {
/** * Removes anything found in the async queue for the given region */ private void clearAsyncQueue(LocalRegion region, boolean needsWriteLock, RegionVersionVector rvv) { DiskRegion dr = region.getDiskRegion(); if (needsWriteLock) { acquireWriteLock(dr); } try { // Now while holding the write lock remove any elements from the queue // for this region. for (final Object o : getAsyncQueue()) { if (o instanceof AsyncDiskEntry) { AsyncDiskEntry ade = (AsyncDiskEntry) o; if (shouldClear(region, rvv, ade)) { rmAsyncItem(o); } } } } finally { if (needsWriteLock) { releaseWriteLock(dr); } } }
boolean gotLock = false; try { acquireWriteLock(dr); if (!closeDataOnly) { dr.setRegionClosed(true);
acquireWriteLock(dr); try { if (dr.isRegionClosed()) {