Browse Source

I/O-intensive processes hung when started by Execute.spawn()

PR: 23893/26852.
Submitted by: Daniel Spilker


git-svn-id: https://svn.apache.org/repos/asf/ant/core/trunk@276272 13f79535-47bb-0310-9956-ffa450edef68
master
Matthew Jason Benson 21 years ago
parent
commit
14211b597a
3 changed files with 17 additions and 0 deletions
  1. +1
    -0
      CONTRIBUTORS
  2. +3
    -0
      WHATSNEW
  3. +13
    -0
      src/main/org/apache/tools/ant/taskdefs/Execute.java

+ 1
- 0
CONTRIBUTORS View File

@@ -30,6 +30,7 @@ Curtis White
Cyrille Morvan
Dale Anson
Dan Armbrust
Daniel Spilker
Danno Ferrin
Davanum Srinivas
David A. Herman


+ 3
- 0
WHATSNEW View File

@@ -23,6 +23,9 @@ Fixed bugs:

* <junit> and <assertions> are working together. Bugzilla report 27218

* I/O-intensive processes hung when executed via <exec spawn="true">.
Bugzilla reports 23893/26852.


Other changes:
--------------


+ 13
- 0
src/main/org/apache/tools/ant/taskdefs/Execute.java View File

@@ -17,6 +17,7 @@

package org.apache.tools.ant.taskdefs;

import java.io.OutputStream;
import java.io.BufferedReader;
import java.io.ByteArrayOutputStream;
import java.io.File;
@@ -509,6 +510,18 @@ public class Execute {
Project.MSG_VERBOSE);
}
}

OutputStream dummyOut = new OutputStream() {
public void write(int b) throws IOException {
}
};

ExecuteStreamHandler streamHandler = new PumpStreamHandler(dummyOut);
streamHandler.setProcessErrorStream(process.getErrorStream());
streamHandler.setProcessOutputStream(process.getInputStream());
streamHandler.start();
process.getOutputStream().close();

project.log("spawned process " + process.toString(), Project.MSG_VERBOSE);
}



Loading…
Cancel
Save