I am hitting the bug where Ant hangs when doing an <exec> - see bug: https://issues.apache.org/bugzilla/show_bug.cgi?id=34461

I can't seem to get the workaround of using inputstring to work. I can replicate this bug, even when using inputstring="", on both Ant 1.6.5 and Ant 1.7.1 - and I've seen this on both solaris and linux.

It's really simple to replicate - I'd appreciate it if someone can give me an idiot lesson on what I'm doing wrong, or tell me if I should submit another bug report on this.

1) Put the following three files in a directory (runjava.sh, build.xml and Test.java - see below).
2) Compile Test.java via "javac Test.java".
3) Finally, just run "ant".

The ant script should complete very fast because runjava.sh puts the Java VM in background via "&". However, ant just hangs and will only die when the Java VM dies (which will be after a sleep of 60 seconds):

---runjava.sh---
java Test 60000 &

---build.xml---
<project name="test" default="do">
 <target name="do">
    <echo>Executing - this should go fast...</echo>
    <exec dir="." inputstring="" executable="/bin/sh">
      <arg line="runjava.sh"/>
    </exec>
    <echo>Execute finished.</echo>
 </target>
</project>

---Test.java---
public class Test {
 public static void main(String[] args) throws Exception {
    System.out.println("Java: sleeping");
    Thread.sleep(Long.parseLong(args[0]));
    System.out.println("Java: done sleeping");
 }
}


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@ant.apache.org
For additional commands, e-mail: user-h...@ant.apache.org

Reply via email to