You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by re...@apache.org on 2003/07/26 16:24:53 UTC
cvs commit: jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup ExpandWar.java HostConfig.java
remm 2003/07/26 07:24:52
Modified: catalina/src/share/org/apache/catalina/startup
ExpandWar.java HostConfig.java
Log:
- Fix possible file descriptor leak.
- Remove duplicated code.
Revision Changes Path
1.4 +23 -13 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ExpandWar.java
Index: ExpandWar.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/ExpandWar.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- ExpandWar.java 21 Jun 2003 23:25:27 -0000 1.3
+++ ExpandWar.java 26 Jul 2003 14:24:52 -0000 1.4
@@ -302,16 +302,26 @@
throws IOException {
File file = new File(docBase, name);
- BufferedOutputStream output =
- new BufferedOutputStream(new FileOutputStream(file));
- byte buffer[] = new byte[2048];
- while (true) {
- int n = input.read(buffer);
- if (n <= 0)
- break;
- output.write(buffer, 0, n);
+ BufferedOutputStream output = null;
+ try {
+ output =
+ new BufferedOutputStream(new FileOutputStream(file));
+ byte buffer[] = new byte[2048];
+ while (true) {
+ int n = input.read(buffer);
+ if (n <= 0)
+ break;
+ output.write(buffer, 0, n);
+ }
+ } finally {
+ if (output != null) {
+ try {
+ output.close();
+ } catch (IOException e) {
+ // Ignore
+ }
+ }
}
- output.close();
}
1.20 +5 -30 jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java
Index: HostConfig.java
===================================================================
RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/catalina/startup/HostConfig.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -r1.19 -r1.20
--- HostConfig.java 25 Jul 2003 16:43:12 -0000 1.19
+++ HostConfig.java 26 Jul 2003 14:24:52 -0000 1.20
@@ -787,7 +787,7 @@
if (host.findChild(contextPath) != null) {
((Deployer) host).remove(contextPath,
false);
- deleteDir(expanded);
+ ExpandWar.deleteDir(expanded);
}
} catch (Throwable t) {
log.error(sm.getString
@@ -841,31 +841,6 @@
}
return result;
- }
-
-
- /**
- * Delete the specified directory, including all of its contents and
- * subdirectories recursively.
- *
- * @param dir File object representing the directory to be deleted
- */
- protected void deleteDir(File dir) {
-
- String files[] = dir.list();
- if (files == null) {
- files = new String[0];
- }
- for (int i = 0; i < files.length; i++) {
- File file = new File(dir, files[i]);
- if (file.isDirectory()) {
- deleteDir(file);
- } else {
- file.delete();
- }
- }
- dir.delete();
-
}
---------------------------------------------------------------------
To unsubscribe, e-mail: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org