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