On 20/10/2016 11:44 PM, Staffan Larsen wrote:

On 20 Oct 2016, at 15:41, David Holmes <david.hol...@oracle.com> wrote:

On 20/10/2016 11:27 PM, Staffan Larsen wrote:
When looking for some timeout handler problems I found a few things that should 
be fixed:

* Strange use of Thread.currentThread().interrupt()

That isn't "strange" it is an idiomatic usage - if you can't propagate the 
InterruptedException to show your caller you have been interrupted then you re-assert the 
interrupt state.

OK, then. In this case it is less “strange” than “wrong”. The cases where this 
is done should not propagate the interrupt state - it only serves to throw 
unexpected exceptions higher up in the call-chain.

If code higher up the call chain can not handle being interrupted and interrupt is being used within the program to signal cancellation, then it is the higher up code that has a problem. As I said the existing code is an idiomatic approach to dealing with cancellation requests.

Cheers,
David


Cheers,
David

* Add logging for timeouts
* Milliseconds sometimes printed as microseconds or nanoseconds
* Should use destroyForcibly() to terminate processes
* No need to sleep in the last iteration when running a command multiple times
* Disable timeout handling timeouts since we do that ourselves

I didn’t want to file individual bugs for all of these, so I have lumped them 
together in one bug.

bug: https://bugs.openjdk.java.net/browse/JDK-8168414 
<https://bugs.openjdk.java.net/browse/JDK-8168414>webrev: 
http://cr.openjdk.java.net/~sla/8168414/webrev.00 
<http://cr.openjdk.java.net/~sla/8168414/webrev.00>

Thanks,
/Staffan


Reply via email to