From 089bcb007454fe44224139b2d0a0e4145f209b15 Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Sat, 20 Feb 2021 09:43:34 -0800 Subject: [PATCH] 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 --- src/corelib/io/qprocess_unix.cpp | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/src/corelib/io/qprocess_unix.cpp b/src/corelib/io/qprocess_unix.cpp index 88cd73b1021..f235ab13205 100644 --- a/src/corelib/io/qprocess_unix.cpp +++ b/src/corelib/io/qprocess_unix.cpp @@ -956,22 +956,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);