Changes to CodeCompletionWorker regarding multithreading

David Nolden zwabel at googlemail.com
Mon Jan 17 16:19:21 UTC 2011


2011/1/17 Milian Wolff <mail at milianw.de>:
> David Nolden, 17.01.2011:
>> Hi, it seems like when CodeCompletionWorker etc. were ported to
>> kdevplatform, someone completely broke the multi-threading. The result
>> was that for a year now, we are computing all completion items in the
>> foreground thread (ouch).
>
> How come this was not noticed before?
>
>> I have fixed this now in kdevplatform and cpp, the other languages
>> might need a slight adaption. In case you're overriding
>> CodeCompletionWorker::computeCompletions, then you have to make sure
>> to match the changed signature of the function you're overriding. The
>> few other changes should be self-explanatory from the compiler errors.
>>
>> Now the question is, if we want to backport this to KDevelop 4.2. IMO
>> the broken multi-threading was a quite serious regression which is
>> fixed now. The problem is that we're using multi-threading now where
>> it wasn't used before, which might expose multi-threading bugs we
>> created within the last year, and which weren't visible without
>> multi-threading.
>
> It seems this requires API changes, hence I'm not in favor of backporting this
> now that we are in RC state.
>
> I know, this sucks, but I don't see any other way.

I don't think the binary compatibility is a useful metric for this
decision, it doesn't make any sense (Unlike kdelibs, we're not a
library). We should only worry about the stability..

Greetings, David




More information about the KDevelop-devel mailing list