- Worker worker = getJalviewDesktopRunner(false, cmds, SETUP_TIMEOUT);
- String ln = null;
- int count = 0;
- while ((ln = worker.getErrorReader().readLine()) != null)
+ final Worker worker = getJalviewDesktopRunner(false, cmds,
+ SETUP_TIMEOUT);
+
+ // number of lines expected on STDERR when Jalview starts up normally
+ // may need to adjust this if Jalview is excessively noisy ?
+ final int STDERR_SETUPLINES = 30;
+
+ // thread monitors stderr - bails after SETUP_TIMEOUT or when
+ // STDERR_SETUPLINES have been read
+ Thread runner = new Thread(new Runnable()