Index: lucene/src/java/org/apache/lucene/index/IndexReader.java =================================================================== --- lucene/src/java/org/apache/lucene/index/IndexReader.java (revision 1213000) +++ lucene/src/java/org/apache/lucene/index/IndexReader.java (working copy) @@ -257,8 +257,8 @@ */ public final void decRef() throws IOException { ensureOpen(); - final int rc = refCount.getAndDecrement(); - if (rc == 1) { + final int rc = refCount.decrementAndGet(); + if (rc == 0) { boolean success = false; try { doClose(); @@ -270,7 +270,7 @@ } } readerFinished(); - } else if (rc <= 0) { + } else if (rc < 0) { throw new IllegalStateException("too many decRef calls: refCount was " + rc + " before decrement"); } }