[Qgis-developer] Branch status for merge and release timeline proposal

Martin Dobias wonder.sk at gmail.com
Mon Mar 7 05:34:00 EST 2011


On Mon, Mar 7, 2011 at 11:20 AM, Ivan Mincik <ivan.mincik at 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


More information about the Qgis-developer mailing list