KatePart in 4.5 and multi threading
Hamish Rodda
rodda at kde.org
Sat Apr 10 08:39:32 UTC 2010
On Sat, 10 Apr 2010 07:10:38 am Milian Wolff wrote:
> @ KDevelopers
>
> Before I'm off into the weekend, please everybody read and participate in
> this:
>
> http://lists.kde.org/?l=kwrite-devel&m=127084516202273&w=2
>
> http://lists.kde.org/?l=kwrite-devel&m=127084406600748&w=2
>
> I'm lost and don't know what to do. All I know is that KDevelop is more or
> less unusable with Kate from trunk.
Well, while Christoph may feel that katepart was never designed to be thread
safe, I certainly intended it to be, through the use of the smart lock. There
was no "working by chance" here, it was long hours of myself and David fixing
corner cases.
The way it used to work is that the document takes the lock whenever it needs
to make a change to the buffer, the view takes the lock whenever it needs to
draw, and the 3rd party app takes the lock whenever it needs to read or write.
The buffer didn't ever have to be thread safe, because it was protected by the
smart lock.
So, my _guess_ is that probably there is a small, easily rectifiable problem
with the smart lock now; don't worry, we just need to make the right fix, not
fork kate.
Last I looked (which was a while back) the issue with the smart groups "not
working" is a very difficult to reproduce corner case, I never managed to
trigger and thus fix.
However, I do take issue with the "qt creator does it this way and is fine"
argument, it would take a sizeable effort to convert kdevelop, and lose us the
ability to do re-parsing of text, every change would probably lead to the
duchain for that document being thrown out and re-written.
So, let's work together to fix the bug... I don't have a development
environment at the moment but I'll see what I can do.
Cheers,
Hamish.
More information about the KDevelop-devel
mailing list