Morten Hattesen created IO-357:
----------------------------------

             Summary: Tailer: Interruption while sleeping is silently ignored
                 Key: IO-357
                 URL: https://issues.apache.org/jira/browse/IO-357
             Project: Commons IO
          Issue Type: Bug
          Components: Streams/Writers
    Affects Versions: 2.4
            Reporter: Morten Hattesen


The implementation of org.apache.commons.io.input.Tailer silently ignores 
interruptions while sleeping (in two places).

Source snippet:
{code}
360                         try {
361                             Thread.sleep(delayMillis);
362                         } catch (InterruptedException e) {
363                         }
...
425                     try {
426                         Thread.sleep(delayMillis);
427                     } catch (InterruptedException e) {
428                     }
{code}

This is an inappropriate behavior, since it prevents controlled shutdown by a 
container.

This may be rectified in one of these ways:

# Declare the method as "throws InterruptedException" and eliminate the catch 
clause. This will ensure that a thread interruption (possibly caused by the 
forced shutdown by a container) will cause processing to stop, and shutdown to 
proceed. Problem: Requires backwards incompatible change to method signature.
# Rethrow the InterruptedException wrapped in a (subclass of) RuntimeException.
# Reassert the interrupted state of the thread by calling 
{{Thread.currentThread.interrupt()}}



--
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

Reply via email to