From 1032afbd44313b84c3419b371103851b7009d850 Mon Sep 17 00:00:00 2001 From: Ilya Trubachev Date: Tue, 31 Aug 2021 15:44:30 +0300 Subject: [PATCH] Fixed macos build Signed-off-by: Konstantin Baladurin --- BUILD.gn | 1 - libpandabase/BUILD.gn | 4 +++- libpandabase/os/unix/failure_retry.h | 12 ++++++++++++ 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/BUILD.gn b/BUILD.gn index a0a17e8a7f..f30ca7fdd9 100644 --- a/BUILD.gn +++ b/BUILD.gn @@ -79,7 +79,6 @@ config("ark_config") { defines += [ "PANDA_TARGET_UNIX", "PANDA_TARGET_MACOS", - "PANDA_USE_FUTEX", ] } else { defines += [ diff --git a/libpandabase/BUILD.gn b/libpandabase/BUILD.gn index 7c5e51005d..77401ab579 100644 --- a/libpandabase/BUILD.gn +++ b/libpandabase/BUILD.gn @@ -70,7 +70,6 @@ if (is_mingw) { "$ark_root/libpandabase/os/unix/error.cpp", "$ark_root/libpandabase/os/unix/file.cpp", "$ark_root/libpandabase/os/unix/filesystem.cpp", - "$ark_root/libpandabase/os/unix/futex/mutex.cpp", "$ark_root/libpandabase/os/unix/library_loader.cpp", "$ark_root/libpandabase/os/unix/mem.cpp", "$ark_root/libpandabase/os/unix/native_stack.cpp", @@ -91,9 +90,12 @@ if (is_mingw) { if (!is_mac) { libarkbase_sources += [ "$ark_root/libpandabase/os/unix/exec.cpp", + "$ark_root/libpandabase/os/unix/futex/mutex.cpp", "$ark_root/libpandabase/os/unix/pipe.cpp", "$ark_root/libpandabase/os/unix/sighooklib/sighook.cpp", ] + } else { + libarkbase_sources += [ "$ark_root/libpandabase/os/unix/mutex.cpp" ] } } diff --git a/libpandabase/os/unix/failure_retry.h b/libpandabase/os/unix/failure_retry.h index 8afada336f..893780689e 100644 --- a/libpandabase/os/unix/failure_retry.h +++ b/libpandabase/os/unix/failure_retry.h @@ -18,6 +18,18 @@ #include +// Mac Os' libc doesn't have this macro +#ifndef TEMP_FAILURE_RETRY +#define TEMP_FAILURE_RETRY(exp) \ + (__extension__({ \ + decltype(exp) _result; \ + do { \ + _result = (exp); \ + } while (_result == -1 && errno == EINTR); \ + _result; \ + })) +#endif + // NOLINTNEXTLINE(cppcoreguidelines-macro-usage) #define PANDA_FAILURE_RETRY(exp) (__extension__ TEMP_FAILURE_RETRY(exp)) -- Gitee