diff options
Diffstat (limited to '3rdparty/asio/include/asio/detail/impl/posix_event.ipp')
-rw-r--r-- | 3rdparty/asio/include/asio/detail/impl/posix_event.ipp | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/3rdparty/asio/include/asio/detail/impl/posix_event.ipp b/3rdparty/asio/include/asio/detail/impl/posix_event.ipp index a62c434edcd..76d5c468cbf 100644 --- a/3rdparty/asio/include/asio/detail/impl/posix_event.ipp +++ b/3rdparty/asio/include/asio/detail/impl/posix_event.ipp @@ -2,7 +2,7 @@ // detail/impl/posix_event.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2024 Christopher M. Kohlhoff (chris at kohlhoff dot com) // // Distributed under the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -31,15 +31,22 @@ namespace detail { posix_event::posix_event() : state_(0) { -#if (defined(__MACH__) && defined(__APPLE__)) +#if (defined(__MACH__) && defined(__APPLE__)) \ + || (defined(__ANDROID__) && (__ANDROID_API__ < 21)) int error = ::pthread_cond_init(&cond_, 0); #else // (defined(__MACH__) && defined(__APPLE__)) + // || (defined(__ANDROID__) && (__ANDROID_API__ < 21)) ::pthread_condattr_t attr; - ::pthread_condattr_init(&attr); - int error = ::pthread_condattr_setclock(&attr, CLOCK_MONOTONIC); + int error = ::pthread_condattr_init(&attr); if (error == 0) - error = ::pthread_cond_init(&cond_, &attr); + { + error = ::pthread_condattr_setclock(&attr, CLOCK_MONOTONIC); + if (error == 0) + error = ::pthread_cond_init(&cond_, &attr); + ::pthread_condattr_destroy(&attr); + } #endif // (defined(__MACH__) && defined(__APPLE__)) + // || (defined(__ANDROID__) && (__ANDROID_API__ < 21)) asio::error_code ec(error, asio::error::get_system_category()); |