@testus
It could well that
@Wieland said:
I think the problem is that you don't have an event queue in your recordThread that processes any signals. The started() signal might get posted to your GUI thread's event queue before the thread affinity of the QProcess instance changes (but I can't tell for sure from the few lines of code).
this is part of your problem.
You so not show that you are keeping the pointers somehwere. Otherwise it does most of the time actually work, but you are creating memory leaks. Also this might be a reason that you are not receiving a finished signal.
I am using such a mechanism in a small tool which has to start quite a number of processes in a row. It have a separate slotmethod created which is triggered through a QTimer. The slot method is checking the stack of processes running and eliminate those which have finished state. Not really elegant, it works.