You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@uima.apache.org by cw...@apache.org on 2013/07/23 22:14:03 UTC
svn commit: r1506255 -
/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java
Author: cwiklik
Date: Tue Jul 23 20:14:03 2013
New Revision: 1506255
URL: http://svn.apache.org/r1506255
Log:
UIMA-3101 close reader when done processing stream
Modified:
uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java
Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java?rev=1506255&r1=1506254&r2=1506255&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/RogueProcessReaper.java Tue Jul 23 20:14:03 2013
@@ -295,6 +295,8 @@ public class RogueProcessReaper {
}
new Thread(new Runnable() {
public void run() {
+ InputStream is = null;
+ BufferedReader reader = null;
try {
String[] repearScriptCommand = new String[] { reaperScript, pid };
ProcessBuilder pb = new ProcessBuilder(repearScriptCommand);
@@ -316,14 +318,14 @@ public class RogueProcessReaper {
+ pid + " Owned by:" + user + " Command:" + sb.toString());
}
- InputStream is = shellProcess.getInputStream();
- BufferedReader reader = new BufferedReader(new InputStreamReader(is));
+ is = shellProcess.getInputStream();
+ reader = new BufferedReader(new InputStreamReader(is));
// read the next line from stdout and stderr
while (reader.readLine() != null) {
// dont care about the output, just drain the buffers
}
- is.close();
+
sb.setLength(0);
if (logger == null) {
@@ -338,10 +340,15 @@ public class RogueProcessReaper {
} catch (Exception e) {
logger.error(methodName, null, e);
} finally {
+
synchronized (this) {
processMap.remove(pid);
}
-
+ if ( reader != null ) {
+ try {
+ reader.close();
+ } catch( Exception exx){}
+ }
}
}
}).start();