dfaure added a comment.
No, that deletes the IdleSlave QObject, but the slave process is still running then. IdleSlave::~IdleSlave() { } Not much happening there ;) Yes, that makes me wondering if the SLAVE_MAX_IDLE thing actually works. Hmm, and KLauncher::requestHoldSlave looks like it's leaking the IdleSlave (well, child of "this", but the object won't be deleted until logging out). Unless I'm missing something, that's a bug from 2001 :-) Anyhow, one thing at a time, can you test if the kioslave process really goes away? My bet is that it doesn't, in which case you need a call to KIOPrivate::sendTerminateSignal(slave->pid()); (if that's not available from this repository, add a method IdleSlave::kill()) [The alternative solution is to call SlaveBase::exit() from the slave process itself, but there's no good place for doing that I think, so better kill it when klauncher decides it's idle, it's simpler than sending it a command to ask it to exit.] REPOSITORY R303 KInit REVISION DETAIL https://phabricator.kde.org/D10824 To: chinmoyr, dfaure, #frameworks Cc: #frameworks, michaelh