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

Reply via email to