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>
This commit is contained in:
parent
f4e3b073b3
commit
089bcb0074
@ -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);
|
||||
|
Loading…
x
Reference in New Issue
Block a user