summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/io/qprocess.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/corelib/io/qprocess.cpp b/src/corelib/io/qprocess.cpp
index 48db7cdd54..9170b72e56 100644
--- a/src/corelib/io/qprocess.cpp
+++ b/src/corelib/io/qprocess.cpp
@@ -849,12 +849,6 @@ void QProcessPrivate::cleanup()
{
q_func()->setProcessState(QProcess::NotRunning);
#ifdef Q_OS_WIN
- if (pid) {
- CloseHandle(pid->hThread);
- CloseHandle(pid->hProcess);
- delete pid;
- pid = 0;
- }
if (stdinWriteTrigger) {
delete stdinWriteTrigger;
stdinWriteTrigger = 0;
@@ -863,9 +857,15 @@ void QProcessPrivate::cleanup()
delete processFinishedNotifier;
processFinishedNotifier = 0;
}
-
-#endif
+ if (pid) {
+ CloseHandle(pid->hThread);
+ CloseHandle(pid->hProcess);
+ delete pid;
+ pid = nullptr;
+ }
+#else
pid = 0;
+#endif
if (stdoutChannel.notifier) {
delete stdoutChannel.notifier;
@@ -1166,10 +1166,6 @@ void QProcessPrivate::processFinished()
#ifdef Q_OS_UNIX
waitForDeadChild();
#endif
-#ifdef Q_OS_WIN
- if (processFinishedNotifier)
- processFinishedNotifier->setEnabled(false);
-#endif
findExitCode();
cleanup();