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 21:58:09 UTC

svn commit: r1506249 - /uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java

Author: cwiklik
Date: Tue Jul 23 19:58:09 2013
New Revision: 1506249

URL: http://svn.apache.org/r1506249
Log:
UIMA-3101 Closed input streams after use

Modified:
    uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java

Modified: uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java
URL: http://svn.apache.org/viewvc/uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java?rev=1506249&r1=1506248&r2=1506249&view=diff
==============================================================================
--- uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java (original)
+++ uima/sandbox/uima-ducc/trunk/uima-ducc-agent/src/main/java/org/apache/uima/ducc/agent/launcher/CGroupsManager.java Tue Jul 23 19:58:09 2013
@@ -213,7 +213,7 @@ public class CGroupsManager {
 
 	public void kill(final String user, final String pid) {
 		final String methodName = "kill";
-
+		InputStream is = null;
 		try {
 			String c_launcher_path = Utils.resolvePlaceholderIfExists(
 					System.getProperty("ducc.agent.launcher.ducc_spawn_path"),
@@ -245,7 +245,7 @@ public class CGroupsManager {
 			ProcessBuilder pb = new ProcessBuilder(duccling_nolog);
 			pb.redirectErrorStream(true);
 			java.lang.Process killedProcess = pb.start();
-			InputStream is = killedProcess.getInputStream();
+			is = killedProcess.getInputStream();
 			BufferedReader reader = new BufferedReader(
 					new InputStreamReader(is));
 			// String line = null;
@@ -271,6 +271,12 @@ public class CGroupsManager {
 
 		} catch (Exception e) {
 			agentLogger.error(methodName, null,e );
+		} finally {
+			if ( is != null ) {
+				try {
+					is.close();
+				} catch( Exception e) {}
+			}
 		}
 	}
     public String getContainerId(ManagedProcess managedProcess) {
@@ -407,6 +413,7 @@ public class CGroupsManager {
 	private int launchCommand(String[] command, boolean useDuccSpawn,
 			String userId, String containerId) throws Exception {
 		String[] commandLine = null;
+		InputStreamReader in = null;
 		try {
 			//
 			// Use ducc_ling (c code) as a launcher for the actual process. The
@@ -438,7 +445,7 @@ public class CGroupsManager {
 
 			java.lang.Process process = processLauncher.start();
 
-			InputStreamReader in = new InputStreamReader(
+			in = new InputStreamReader(
 					process.getInputStream());
 			BufferedReader reader = new BufferedReader(in);
 			String line;
@@ -465,6 +472,12 @@ public class CGroupsManager {
 				e.printStackTrace();
 			}
 
+		} finally {
+			if ( in != null ) {
+				try {
+					in.close();
+				} catch( Exception exx) {}
+			}
 		}
 		return -1; // failure
 	}