D10702: Always use a job to delete files to avoid freezing process waiting on IO
David Faure
noreply at phabricator.kde.org
Sat Apr 7 19:49:13 UTC 2018
dfaure added a comment.
s/thread/process/. It's not about threads it's about two processes: the (GUI) application, and the kioslave.
But you present all this in a rather convoluted way, it's much simpler. The SimpleJob for asking a kioslave to delete a file is KIO::file_delete which exactly what this patch ends up calling.
The issue is choosing when to call unlink directly and when to ask the slave to do it. Or indeed markg's idea of sending the full list of files to the slave in one go, with a new MultiDeleteJob (including progress information). However for many small files this might be slower (that long list needs to be sent over...).
Since the bug report is about the "one big file" case, I'd say let's not fix what ain't broken (the many small files case), and let's just do "if local and small, delete in-process, otherwise use kioslave", i.e. just adding a size check for the fast path.
The optimized way to do it would be, rather than a stat() in this method, to change DeleteJobPrivate::slotEntries so that it puts big files into a separate list, for instance.
REPOSITORY
R241 KIO
REVISION DETAIL
https://phabricator.kde.org/D10702
To: meven, #frameworks, dfaure, ngraham, #dolphin, jtamate
Cc: jtamate, markg, ngraham, #frameworks, michaelh, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20180407/ded334d4/attachment.html>
More information about the Kde-frameworks-devel
mailing list