public boolean launchIvyThread()

in org.apache.ivyde.eclipse/src/java/org/apache/ivyde/internal/eclipse/resolve/IvyRunner.java [38:62]


    public boolean launchIvyThread(Runnable runnable, Ivy ivy, IProgressMonitor monitor) {
        if (monitor != null && monitor.isCanceled()) {
            return true;
        }

        Thread runnerThread = new Thread(runnable);
        runnerThread.setName("IvyDE resolver thread");
        runnerThread.start();

        while (true) {
            try {
                runnerThread.join(WAIT_FOR_JOIN);
            } catch (InterruptedException e) {
                ivy.interrupt(runnerThread);
                return true;
            }
            if (!runnerThread.isAlive()) {
                return false;
            }
            if (monitor != null && monitor.isCanceled()) {
                ivy.interrupt(runnerThread);
                return true;
            }
        }
    }