On Mon, Mar 7, 2011 at 11:20 AM, Ivan Mincik <ivan.min...@gmail.com> wrote: > Martin, have You found some good solution for threading problems in > Python (threading branch) ?
Yes, I have fixed that few weeks ago. But the problems I am facing now are related to compatibility - I was unable to reach 100% compatibility with vector layer API until now. The functions select() and nextFeature() in both QgsVectorLayer and QgsVectorDataProvider may cause various problems with threading. I have implemented a new approach with QgsFeatureIterator class which encapsulates these methods and they should be safe. We need to support those original API methods, but they may cause havoc when they are run while rendering in threads. QGIS application can be simple modified to use just the new (safe) API using QgsFeatureIterator, but what about all the plugins?? Therefore I wonder if the merge shouldn't be postponed until we start transition to 2.0, otherwise we may end up with either deadlocks or data corruptions. (Yes, threads are evil.) Other possibility would be to merge just stuff that is safe to merge (various optimizations and refactorings) and keep back the threading until we can break backward compatibility. Comments? Regards Martin _______________________________________________ Qgis-developer mailing list Qgis-developer@lists.osgeo.org http://lists.osgeo.org/mailman/listinfo/qgis-developer