[ 
https://issues.apache.org/jira/browse/EXEC-44?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12869589#action_12869589
 ] 

Konrad Windszus commented on EXEC-44:
-------------------------------------

Even worse is that I can't provide a value like Long.MAX_VALUE for the timeout 
since this would lead to an overflow in Watchdog.run 
{code}
public synchronized void run() {
        final long until = System.currentTimeMillis() + timeout;
        long now;
        while (!stopped && until > (now = System.currentTimeMillis())) {
            try {
                wait(until - now);
            } catch (InterruptedException e) {
            }
        }
        if (!stopped) {
            fireTimeoutOccured();
        }
    }
{code}
The until variable would then get negative, which means that the process is 
interrupted immediately.

> ExecuteWatchdog should accept infinite timeouts (argument -1)
> -------------------------------------------------------------
>
>                 Key: EXEC-44
>                 URL: https://issues.apache.org/jira/browse/EXEC-44
>             Project: Commons Exec
>          Issue Type: Improvement
>    Affects Versions: 1.0.1
>            Reporter: Konrad Windszus
>            Assignee: Siegfried Goeschl
>
> Because the ExecuteWatchdog is the only way to destroy asynchronous 
> processes, it should be possible to set it to an infinite timeout, for 
> processes which should not timeout, but manually destroyed under some 
> circumstances.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to