QProcess/Unix: restore the signal mask before re-enabling cancellations

That way we will restore the thread's signal mask even if a thread
cancellation is pending and thus forces an immediate stack unwind when
we re-enable them.

Pick-to: 6.8
Change-Id: I36589f84c5f4d8929129fffdbb77b2020c6fa5a6
Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de>
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
This commit is contained in:
Thiago Macieira 2024-08-26 18:28:44 -07:00
parent 60f07671e1
commit 7400db0f82

View File

@ -283,8 +283,8 @@ struct QChildProcess
if (workingDirectory >= 0)
close(workingDirectory);
restoreThreadCancellations();
restoreSignalMask();
restoreThreadCancellations();
}
void maybeBlockSignals() noexcept