From 9903363f55ebe8e33ee3442b67ea4094dbed5850 Mon Sep 17 00:00:00 2001 From: "Maxim.Mossienko" Date: Sat, 23 Jul 2011 18:09:03 +0400 Subject: [PATCH] clear mapped buf before unmap --- .../src/com/intellij/util/io/MappedBufferWrapper.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) 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) {