You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2011/12/08 00:50:44 UTC

svn commit: r1211710 - /lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java

Author: uschindler
Date: Wed Dec  7 23:50:44 2011
New Revision: 1211710

URL: http://svn.apache.org/viewvc?rev=1211710&view=rev
Log:
LUCENE-3588: Use MapBasedSet

Modified:
    lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java

Modified: lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java?rev=1211710&r1=1211709&r2=1211710&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java (original)
+++ lucene/dev/trunk/lucene/src/java/org/apache/lucene/store/MMapDirectory.java Wed Dec  7 23:50:44 2011
@@ -26,7 +26,7 @@ import java.nio.channels.ClosedChannelEx
 import java.nio.channels.FileChannel;
 import java.nio.channels.FileChannel.MapMode;
 
-import java.util.Map;
+import java.util.Set;
 import java.util.WeakHashMap;
 
 import java.security.AccessController;
@@ -34,6 +34,7 @@ import java.security.PrivilegedException
 import java.security.PrivilegedActionException;
 import java.lang.reflect.Method;
 
+import org.apache.lucene.util.MapBackedSet;
 import org.apache.lucene.util.Constants;
 
 /** File-based {@link Directory} implementation that uses
@@ -259,7 +260,7 @@ public class MMapDirectory extends FSDir
     private ByteBuffer curBuf; // redundant for speed: buffers[curBufIndex]
   
     private boolean isClone = false;
-    private final Map<MMapIndexInput,Boolean> clones = new WeakHashMap<MMapIndexInput,Boolean>();
+    private final Set<MMapIndexInput> clones = new MapBackedSet<MMapIndexInput>(new WeakHashMap<MMapIndexInput,Boolean>());
 
     MMapIndexInput(String resourceDescription, RandomAccessFile raf, long offset, long length, int chunkSizePower) throws IOException {
       super(resourceDescription);
@@ -430,7 +431,7 @@ public class MMapDirectory extends FSDir
       
       // register the new clone in our clone list to clean it up on closing:
       synchronized(this.clones) {
-        this.clones.put(clone, Boolean.TRUE);
+        this.clones.add(clone);
       }
       
       return clone;
@@ -449,7 +450,7 @@ public class MMapDirectory extends FSDir
         
         // for extra safety unset also all clones' buffers:
         synchronized(this.clones) {
-          for (final MMapIndexInput clone : this.clones.keySet()) {
+          for (final MMapIndexInput clone : this.clones) {
             assert clone.isClone;
             clone.unsetBuffers();
           }