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