macOS warns that we should posix_spawn instead. However posix_spawn would require a major redesign of code to daemonise or drop the --daemon feature on macOS. Ignore the clang warning in order to allow -Werror compile on macOS.
Signed-off-by: Arne Schwabe <a...@rfc2549.org> --- src/openvpn/init.c | 8 ++++++++ src/plugins/down-root/down-root.c | 7 +++++++ 2 files changed, 15 insertions(+) diff --git a/src/openvpn/init.c b/src/openvpn/init.c index 31ecadcc..61d9cd75 100644 --- a/src/openvpn/init.c +++ b/src/openvpn/init.c @@ -1237,10 +1237,18 @@ possibly_become_daemon(const struct options *options) { ASSERT(!options->inetd); /* Don't chdir immediately, but the end of the init sequence, if needed */ + +#if defined(__APPLE__) && defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +#endif if (daemon(1, options->log) < 0) { msg(M_ERR, "daemon() failed or unsupported"); } +#if defined(__APPLE__) && defined(__clang__) +#pragma clang diagnostic pop +#endif restore_signal_state(); if (options->log) { diff --git a/src/plugins/down-root/down-root.c b/src/plugins/down-root/down-root.c index c5e5023e..da445c61 100644 --- a/src/plugins/down-root/down-root.c +++ b/src/plugins/down-root/down-root.c @@ -173,10 +173,17 @@ daemonize(const char *envp[]) { fd = dup(2); } +#if defined(__APPLE__) && defined(__clang__) +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wdeprecated-declarations" +#endif if (daemon(0, 0) < 0) { warn("DOWN-ROOT: daemonization failed"); } +#if defined(__APPLE__) && defined(__clang__) +#pragma clang diagnostic pop +#endif else if (fd >= 3) { dup2(fd, 2); -- 2.26.2 _______________________________________________ Openvpn-devel mailing list Openvpn-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openvpn-devel