I don't know all code in JBT, so I don't know how all jobs we create work. MOST of our jobs probably do their work, and then finish. But there may be some jobs out there which block or wait on objects. This means they have the potential to freeze.  This also means anyone joining those jobs might freeze.

Where does this need to be working inside JBT? Well, if you ever join a job that could freeze, adn you'd like to be able to be interrupted, then this is important.

Again, it's just something to be aware of. Don't join jobs that could block unless you double-test that you're able to be interrupted. Otherwise you could end up with a permanent deadlock.

On 05/10/2013 06:52 AM, Denis Golovin wrote:
On 05/09/2013 02:51 AM, Rob Stryker wrote:
It seems not really big issue because it is not common case, there are just two requests since 2009-10-26 one is yours.
Where do you need this this case to be working inside JBossTools?

Thanks
Denis
You can read more on the eclipse bug: 
https://bugs.eclipse.org/bugs/show_bug.cgi?id=293312

Any time your code uses Join, you should pay extra attention as to who 
can interrupt you, for what reason, or not.  If join() is not able to be 
interrupted, and the job you join against freezes, both threads may be 
deadlocked forever. Stopping the job will NOT un-lock your job OR the 
joined thread, either, unless your job overrides the canceling() method 
to interrupt itself!

So be aware.

My new implementation of WaitJob is here below:

https://github.com/jbosstools/jbosstools-base/blob/master/common/plugins/org.jboss.tools.common.core/src/org/jboss/tools/common/core/ecf/internal/WaitJob.java 

_______________________________________________
jbosstools-dev mailing list
jbosstools-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jbosstools-dev