From dfb827b257fa7dd3d41e7558c04800ef5925131d Mon Sep 17 00:00:00 2001
From: brinn <brinn>
Date: Sun, 13 Jul 2008 18:41:52 +0000
Subject: [PATCH] [DMV-31] avoid hanging if we have only items left that we
 cannot handle

SVN: 7194
---
 .../cisd/common/utilities/DirectoryScanningTimerTask.java | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java
index c6683546c35..769987aa139 100644
--- a/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java
+++ b/common/source/java/ch/systemsx/cisd/common/utilities/DirectoryScanningTimerTask.java
@@ -200,11 +200,12 @@ public final class DirectoryScanningTimerTask extends TimerTask
         }
         try
         {
-            int numberOfItems;
+            int numberOfItemsHandled;
             do
             {
                 final StoreItem[] storeItems = listStoreItems();
-                numberOfItems = storeItems.length;
+                final int numberOfItems = storeItems.length;
+                numberOfItemsHandled = numberOfItems;
                 directoryScanningHandler.beforeHandle();
                 for (int i = 0; i < numberOfItems; i++)
                 {
@@ -241,6 +242,7 @@ public final class DirectoryScanningTimerTask extends TimerTask
                         }
                     } else
                     {
+                        --numberOfItemsHandled;
                         if (operationLog.isTraceEnabled())
                         {
                             operationLog.trace(String.format(
@@ -248,7 +250,7 @@ public final class DirectoryScanningTimerTask extends TimerTask
                         }
                     }
                 }
-            } while (numberOfItems > 0);
+            } while (numberOfItemsHandled > 0);
         } catch (final Exception ex)
         {
             printNotification(ex);
-- 
GitLab