commons-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ernest Mishkin (JIRA)" <j...@apache.org>
Subject [jira] Created: (EXEC-41) Patch to enable executing thread to return immediately when process is "killed" by a watchdog
Date Mon, 29 Jun 2009 19:02:47 GMT
Patch to enable executing thread to return immediately when process is "killed" by a watchdog
---------------------------------------------------------------------------------------------

                 Key: EXEC-41
                 URL: https://issues.apache.org/jira/browse/EXEC-41
             Project: Commons Exec
          Issue Type: Improvement
    Affects Versions: 1.0, 1.1
         Environment: Windows XP
            Reporter: Ernest Mishkin
            Priority: Minor
             Fix For: 1.1
         Attachments: commons-exec.patch

This has been discussed on the commons-users mailing list. The patch intends to solve the
following problem:
when a process runs longer than allowed by a configured watchdog's timeout, the watchdog tries
to destroy it and then DefaultExecutor tries to clean up by joining with all installed pump
stream threads. Problem is, that sometimes the native process doesn't die and thus streams
aren't closed and the stream threads do not complete.

The patch provides setAlwaysWaitForStreamThreads(boolean) method in PumpStreamHandler. By
default, alwaysWaitForStreamThreads is set to true to preserve the current behavior. If set
to false, and process is killed by watchdog, DefaultExecutor's call into ErrorStreamHandler.stop
will NOT join the stream threads and DefaultExecutor will NOT attempt to close the streams,
so the executor's thread won't get stuck.

Additionally, this patch fixes a small but annoying bug in DefaultExecuteHandler.setExitValues(int[])

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


Mime
View raw message