[ 
https://issues.apache.org/jira/browse/EXEC-96?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aleksandr Dubinsky updated EXEC-96:
-----------------------------------
    Summary: When execution is interrupted, an exception should be thrown  
(was: When execution is interrupted, an exception should be thrown or 
interrupted flag should be set)

> When execution is interrupted, an exception should be thrown
> ------------------------------------------------------------
>
>                 Key: EXEC-96
>                 URL: https://issues.apache.org/jira/browse/EXEC-96
>             Project: Commons Exec
>          Issue Type: Improvement
>    Affects Versions: 1.3
>            Reporter: Aleksandr Dubinsky
>
> DefaultExecutor handles InterruptedException while waiting for the process to 
> finish executing by killing the process and setting the error code to 
> INVALID_EXITVALUE. This behavior isn't documented. It would be better if it 
> threw an InterruptedExecuteException or an InterruptedIOException. This would 
> clearly communicate the reason that execution failed. Also, it should throw 
> this exception even if exitValues is null.
> In Java 8 there is a new method Process.destroyForcibly. I haven't used it, 
> but I wonder if it may be appropriate to call it instead of destroy.
> I tried to understand how thread interruption would affect the other 
> operations in executeInternal, particularly streams.stop. I'm not sure if 
> that works correctly. It seems to swallow the InterruptedException, but I 
> don't know how likely it is to block for any length of time. Nevertheless, if 
> it's not going to re-throw the InterruptedException, it should set the 
> interrupted flag.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to