ant-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jesse Glick <jesse.gl...@sun.com>
Subject Re: terminating running builds better
Date Sat, 03 Nov 2007 20:19:07 GMT
Steve Loughran wrote:
> What do IDEs do to stop ant builds? just kill the thread/process?

NB behaves as follows:

1. It sets a special flag. The next time any BuildListener/BuildLogger 
method is called on the IDE's listener, it will throw a BuildException, 
which usually stops the build.

2. If several seconds have elapsed with no listener method, or if the 
build did not stop for any other reason, Thread.stop is called.

For example, if <java fork="true"> is the active task, any output 
printed will cause #1 to be triggered. Otherwise, ThreadDeath is caught 
by the task, which stops the external process and then rethrows.

Not perfect but seems to work reasonably well in practice. #2 could 
probably be improved to first try Thread.interrupt and only use 
Thread.stop as a last resort.

-- 
jesse.glick@sun.com  netbeans.org  ant.apache.org  hudson.dev.java.net
             http://google.com/search?q=e%5E%28pi*i%29%2B1


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ant.apache.org
For additional commands, e-mail: dev-help@ant.apache.org


Mime
View raw message