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
        }


Reply via email to