fix bug noted by Patrice Thiebaud, in which Evictor (when running) would evict all object when _minEvictableIdleTime is non-positive


git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/pool/trunk@139633 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java b/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
index fad740a..583268e 100644
--- a/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
+++ b/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java,v 1.5 2002/05/01 14:43:15 rwaldhoff Exp $
- * $Revision: 1.5 $
- * $Date: 2002/05/01 14:43:15 $
+ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericKeyedObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
+ * $Revision: 1.6 $
+ * $Date: 2002/08/10 21:13:26 $
  *
  * ====================================================================
  *
@@ -161,7 +161,7 @@
  * </ul>
  * @see GenericObjectPool
  * @author Rodney Waldhoff
- * @version $Id: GenericKeyedObjectPool.java,v 1.5 2002/05/01 14:43:15 rwaldhoff Exp $
+ * @version $Id: GenericKeyedObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
  */
 public class GenericKeyedObjectPool extends BaseKeyedObjectPool implements KeyedObjectPool {
 
@@ -1046,7 +1046,8 @@
                                 // if the objcursor has a previous object, then test it
                                 if(objcursor.hasPrevious()) {
                                     ObjectTimestampPair pair = (ObjectTimestampPair)(objcursor.previous());
-                                    if(System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
+                                    if(_minEvictableIdleTimeMillis > 0 &&
+                                       System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
                                         try {
                                             objcursor.remove();
                                             _totalIdle--;
diff --git a/src/java/org/apache/commons/pool/impl/GenericObjectPool.java b/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
index 8c09592..54351b4 100644
--- a/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
+++ b/src/java/org/apache/commons/pool/impl/GenericObjectPool.java
@@ -1,7 +1,7 @@
 /*
- * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericObjectPool.java,v 1.5 2002/05/01 06:02:34 rwaldhoff Exp $
- * $Revision: 1.5 $
- * $Date: 2002/05/01 06:02:34 $
+ * $Header: /home/jerenkrantz/tmp/commons/commons-convert/cvs/home/cvs/jakarta-commons//pool/src/java/org/apache/commons/pool/impl/GenericObjectPool.java,v 1.6 2002/08/10 21:13:26 rwaldhoff Exp $
+ * $Revision: 1.6 $
+ * $Date: 2002/08/10 21:13:26 $
  *
  * ====================================================================
  *
@@ -159,7 +159,7 @@
  * </ul>
  * @see GenericKeyedObjectPool
  * @author Rodney Waldhoff
- * @version $Revision: 1.5 $ $Date: 2002/05/01 06:02:34 $
+ * @version $Revision: 1.6 $ $Date: 2002/08/10 21:13:26 $
  */
 public class GenericObjectPool extends BaseObjectPool implements ObjectPool {
 
@@ -918,13 +918,14 @@
                                     cursor = (CursorableLinkedList.Cursor)(_pool.cursor(_pool.size()));
                                 } else {
                                     ObjectTimestampPair pair = (ObjectTimestampPair)(cursor.previous());
-                                    if(System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
-                                        try {
-                                            cursor.remove();
-                                            _factory.destroyObject(pair.value);
-                                        } catch(Exception e) {
-                                            ; // ignored
-                                        }
+                                    if(_minEvictableIdleTimeMillis > 0 &&
+                                       System.currentTimeMillis() - pair.tstamp > _minEvictableIdleTimeMillis) {
+                                       try {
+                                           cursor.remove();
+                                           _factory.destroyObject(pair.value);
+                                       } catch(Exception e) {
+                                           ; // ignored
+                                       }
                                     } else if(_testWhileIdle) {
                                         boolean active = false;
                                         try {