Files
qt-creator/src
Jarek Kobus c525bb15d7 Fix a possible crash in ExecuteFilter
Refactor the process lifetime inside ExecuteFilter.
Before there was only one process instance during
ExecuteFilter lifetime.
However, the drawback was that when the old task
was still running and we wanted to start a new one,
we had to kill the old one and wait for it to be finished
(so we had to wait unnecessarily). Now we are using
Core::Reaper for removing old running processes.
We also recreate a process for every task and delete it
on task finished.

Fix a possible crash when starting a process times out.
Before we just removed the task from the queue, but it
could happen that we still receive the finished() signal
from the process - and the assumption that task queue
isn't empty inside finished() method didn't hold.
Now we behave the same as in case of ExecuteFilter::accept().
If the process timed out we put it into the reaper.

Fix the ProcessReapers destructor. In case we have put there
a process it won't change its state until we enable event
delivery. So, in order to help it we process events after sleeping.

Task-number: QTCREATORBUG-26084
Change-Id: I8a16b4d64f9c6a07aef45767458e69dff1dd83bc
Reviewed-by: Eike Ziller <eike.ziller@qt.io>
2021-08-04 16:34:43 +00:00
..
2021-07-30 07:24:04 +00:00
2021-07-30 04:49:15 +00:00