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