summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2021-02-20 09:43:34 -0800
committerThiago Macieira <thiago.macieira@intel.com>2021-02-22 18:12:13 +0000
commitbcc80f4e21aeae268a0a1c6d821a72542c7ab628 (patch)
tree9c4a0b950006c3e6017ef86fed028f235ddf3be9
parent62d326850182cf04e570195508f143ef7b3f2239 (diff)
QProcess::startDetached/Unix: remove unnecessary ignoring of SIGPIPE
This is unnecessary because we can only get SIGPIPE if the reading end of the pipe is closed. And that can only happen if the parent process has exited, meaning there's no one to read our message anyway. Change-Id: Ic90d8429a0eb4837971dfffd1664ec6821993ada Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@gmx.de> (cherry picked from commit 089bcb007454fe44224139b2d0a0e4145f209b15)
-rw-r--r--src/corelib/io/qprocess_unix.cpp10
1 files changed, 0 insertions, 10 deletions
diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp
index 1e74cfff60..8c6a095844 100644
--- a/src/corelib/io/qprocess_unix.cpp
+++ b/src/corelib/io/qprocess_unix.cpp
@@ -960,22 +960,12 @@ bool QProcessPrivate::startDetached(qint64 *pid)
else
qt_safe_execv(argv[0], argv);
- struct sigaction noaction;
- memset(&noaction, 0, sizeof(noaction));
- noaction.sa_handler = SIG_IGN;
- ::sigaction(SIGPIPE, &noaction, nullptr);
-
// '\1' means execv failed
char c = '\1';
qt_safe_write(startedPipe[1], &c, 1);
qt_safe_close(startedPipe[1]);
::_exit(1);
} else if (doubleForkPid == -1) {
- struct sigaction noaction;
- memset(&noaction, 0, sizeof(noaction));
- noaction.sa_handler = SIG_IGN;
- ::sigaction(SIGPIPE, &noaction, nullptr);
-
// '\2' means internal error
char c = '\2';
qt_safe_write(startedPipe[1], &c, 1);