From 614f37c8b559a722538c58dd1f65229cfca7d35b Mon Sep 17 00:00:00 2001 From: Thiago Macieira Date: Thu, 12 Mar 2015 22:58:56 -0700 Subject: [PATCH] forkfd: make only one of forkfd or spawnfd be compiled We only ever use one, never both. Change-Id: Iee8cbc07c4434ce9b560ffff13caf94c05dba338 Reviewed-by: Oswald Buddenhagen --- src/3rdparty/forkfd/forkfd.c | 6 ++++-- src/corelib/io/forkfd_qt.cpp | 7 +++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/3rdparty/forkfd/forkfd.c b/src/3rdparty/forkfd/forkfd.c index 1b3e162a7e0..3f9e82cd456 100644 --- a/src/3rdparty/forkfd/forkfd.c +++ b/src/3rdparty/forkfd/forkfd.c @@ -436,6 +436,7 @@ static int create_pipe(int filedes[], int flags) return ret; } +#ifndef FORKFD_NO_FORKFD /** * @brief forkfd returns a file descriptor representing a child process * @return a file descriptor, or -1 in case of failure @@ -590,8 +591,9 @@ err_free: freeInfo(header, info); return -1; } +#endif // FORKFD_NO_FORKFD -#ifdef _POSIX_SPAWN +#if defined(_POSIX_SPAWN) && !defined(FORKFD_NO_SPAWNFD) int spawnfd(int flags, pid_t *ppid, const char *path, const posix_spawn_file_actions_t *file_actions, posix_spawnattr_t *attrp, char *const argv[], char *const envp[]) { @@ -652,4 +654,4 @@ err_free: out: return -1; } -#endif // _POSIX_SPAWN +#endif // _POSIX_SPAWN && !FORKFD_NO_SPAWNFD diff --git a/src/corelib/io/forkfd_qt.cpp b/src/corelib/io/forkfd_qt.cpp index 56a39f8df01..dadc42151cb 100644 --- a/src/corelib/io/forkfd_qt.cpp +++ b/src/corelib/io/forkfd_qt.cpp @@ -40,6 +40,13 @@ #endif #include +#include "qprocess_p.h" + +#ifdef QPROCESS_USE_SPAWN +# define FORKFD_NO_FORKFD +#else +# define FORKFD_NO_SPAWNFD +#endif #if defined(QT_NO_DEBUG) && !defined(NDEBUG) # define NDEBUG