diff --git a/platform/util/src/com/intellij/util/io/MappedBufferWrapper.java b/platform/util/src/com/intellij/util/io/MappedBufferWrapper.java index 09ccb39ba82c..6d78b3dd8853 100644 --- a/platform/util/src/com/intellij/util/io/MappedBufferWrapper.java +++ b/platform/util/src/com/intellij/util/io/MappedBufferWrapper.java @@ -50,10 +50,11 @@ public abstract class MappedBufferWrapper { public final void unmap() { long started = IOStatistics.DEBUG ? System.currentTimeMillis() : 0; - if (!unmapMappedByteBuffer142b19(this)) { + MappedByteBuffer buffer = getIfCached(); + myBuffer = null; + if (!unmapMappedByteBuffer142b19(buffer)) { LOG.error("Unmapping failed for: " + myFile); } - myBuffer = null; if (IOStatistics.DEBUG) { long finished = System.currentTimeMillis(); @@ -76,8 +77,8 @@ public abstract class MappedBufferWrapper { } - private static boolean unmapMappedByteBuffer142b19(MappedBufferWrapper holder) { - return clean(holder.getIfCached()); + private static boolean unmapMappedByteBuffer142b19(MappedByteBuffer buffer) { + return clean(buffer); } private static boolean clean(final MappedByteBuffer buffer) {