D21127: [KDynamicJobTracker] Ask kuiserver asynchronously

David Faure noreply at phabricator.kde.org
Fri May 10 16:03:53 BST 2019


dfaure requested changes to this revision.
dfaure added inline comments.
This revision now requires changes to proceed.

INLINE COMMENTS

> kdynamicjobtracker.cpp:165
>      if (kuiserverTracker) {
>          kuiserverTracker->unregisterJob(job);
>      }

This would fail if the registerJob didn't happen yet.

Imagine a very short lived job (or a very slow kuiserver).

- register -> waiting for reply on requiresJobTracker
- unregister -> calling unregisterJob immediately, kuiserver will ignore it
- reply comes in, lambda calls registerJob

(note that the job is deleted with deleteLater, so the QPointer check doesn't help)

Result: the job stays up forever in kuiserver

Making things async means queueing requests, and having a sort of state machinne...

REPOSITORY
  R241 KIO

REVISION DETAIL
  https://phabricator.kde.org/D21127

To: broulik, #frameworks, dfaure, davidedmundson
Cc: kde-frameworks-devel, michaelh, ngraham, bruns
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20190510/cc02ddef/attachment.html>


More information about the Kde-frameworks-devel mailing list