Race condition with data loss in ReadWritePart
Martin Pley
kde-core at pley.org
Sat Feb 23 19:52:19 GMT 2008
> I noticed a race condition with data loss in ReadWritePart:
>
> Try to open a non-local-file from a slow or offline server. Then, instead
> of waiting for the file, just open another local file. Now, when you delete
> the part, the file is deleted(!).
>
> If I see it correctly, this is because m_bTemp is set to "true" while
> opening the remote file. And when you open the local file it will not be
> set to false again.
It's actually not a race condition. I reimplemented ReadWritePart::closeURL()
without setting m_bTemp to false. And when I delete the part, ~ReadOnlyPart
calls ReadOnlyPart::closeURL(), which deletes the file.
Perhaps one should add a warning to the documentation of closeURL().
More information about the kde-core-devel
mailing list