You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ant.apache.org by bo...@apache.org on 2002/10/18 09:00:54 UTC
cvs commit: jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional Cab.java
bodewig 2002/10/18 00:00:54
Modified: . WHATSNEW
src/main/org/apache/tools/ant/taskdefs/optional Cab.java
Log:
Avoid hanging listcab on large filesets (because writing the filelist
blocks before listcab's output is being read).
PR: 13546
Submitted by: Jim Newsham <newsham at hotu.com>
Revision Changes Path
1.302 +2 -0 jakarta-ant/WHATSNEW
Index: WHATSNEW
===================================================================
RCS file: /home/cvs/jakarta-ant/WHATSNEW,v
retrieving revision 1.301
retrieving revision 1.302
diff -u -r1.301 -r1.302
--- WHATSNEW 10 Oct 2002 07:03:43 -0000 1.301
+++ WHATSNEW 18 Oct 2002 07:00:53 -0000 1.302
@@ -28,6 +28,8 @@
* The "plain" <junit> <formatter> could throw a NullPointerException
if an error occured in setUp.
+* <cab> could hang listcab on large <fileset>s.
+
Other changes:
--------------
1.23 +4 -3 jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java
Index: Cab.java
===================================================================
RCS file: /home/cvs/jakarta-ant/src/main/org/apache/tools/ant/taskdefs/optional/Cab.java,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- Cab.java 26 Sep 2002 08:13:58 -0000 1.22
+++ Cab.java 18 Oct 2002 07:00:54 -0000 1.23
@@ -266,9 +266,6 @@
new String[] {"listcab"}, null,
baseDir, true);
OutputStream out = p.getOutputStream();
- out.write(sb.toString().getBytes());
- out.flush();
- out.close();
// Create the stream pumpers to forward listcab's stdout and stderr to the log
// note: listcab is an interactive program, and issues prompts for every new line.
@@ -281,6 +278,10 @@
// Pump streams asynchronously
(new Thread(outPump)).start();
(new Thread(errPump)).start();
+
+ out.write(sb.toString().getBytes());
+ out.flush();
+ out.close();
int result = -99; // A wild default for when the thread is interrupted
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>