Sam Haldane created VFS-486:
-------------------------------
Summary: DefaultFileMonitor sleeps for twice the specified delay
when checkPerRun > 0
Key: VFS-486
URL: https://issues.apache.org/jira/browse/VFS-486
Project: Commons VFS
Issue Type: Bug
Affects Versions: 2.0
Reporter: Sam Haldane
Priority: Minor
There's a bug in {{DefaultFileMonitor}} that causes the monitor thread to sleep
twice if {{getChecksPerRun() > 0}}. {{DefaultFileMonitor.checksPerRun}}
defaults to 1000.
In the main loop:
{code:java}
for (int iterFileNames = 0; iterFileNames < fileNames.length;
iterFileNames++)
{
// do some stuff
if (getChecksPerRun() > 0)
{
if ((iterFileNames % getChecksPerRun()) == 0)
{
try
{
Thread.sleep(getDelay());
}
catch (InterruptedException e)
{
// Woke up.
}
}
}
// do more stuff
}
{code}
and then at the end of the loop block:
{code:java}
try
{
Thread.sleep(getDelay());
}
catch (InterruptedException e)
{
continue;
}
{code}
Workaround is to call {{setChecksPerRun(0)}}.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira