Skip to content

Draft: Don't call finished() for the timeoutSpecialCommand

Fabian Vogt requested to merge work/fvogt/kde459980 into master

If a timeoutSpecialCommand is set, SlaveBase triggers a call to the Slave's special() method after the given timeout expires. This call is triggered as if it was coming from the application, so it must be taken care of that it does not actually send any result, which the application might not expect. In particular in the case of FileJob, calling finished() stopped the Job immediately, the result() signal is emitted with no error set.

BUG: 459980

This change means that it's up to implementations of WorkerBase::special again to call finished() in the appropriate places, which is almost impossible to coordinate.

Alternatively, SlaveBase could ignore calls to finished (and error?) in this case.

CC @sitter

Edited by Fabian Vogt

Merge request reports