Hi WanMil, the loop in main (performance branch) does not always end, sometimes the main thread hangs in cmplService.take(); I guess this happens when the last preparer finishes after the test of getActiveCount() and before take() is called:
do { try { cmplService.take(); } catch (InterruptedException exp) { System.err.println(exp.getMessage()); } } while (((ThreadPoolExecutor) threadPool).getActiveCount() > 0); The attached patch solves this problem. Gerd http://gis.19327.n5.nabble.com/file/n5533662/spuriois_hang.patch spuriois_hang.patch -- View this message in context: http://gis.19327.n5.nabble.com/Patch-Spurious-dead-main-thread-tp5533662p5533662.html Sent from the Mkgmap Development mailing list archive at Nabble.com. _______________________________________________ mkgmap-dev mailing list mkgmap-dev@lists.mkgmap.org.uk http://www.mkgmap.org.uk/mailman/listinfo/mkgmap-dev