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