diff options
Diffstat (limited to '3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp')
-rw-r--r-- | 3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp | 28 |
1 files changed, 19 insertions, 9 deletions
diff --git a/3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp b/3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp index f4bcdf90b13..531002b318e 100644 --- a/3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp +++ b/3rdparty/asio/include/asio/impl/handler_alloc_hook.ipp @@ -2,7 +2,7 @@ // impl/handler_alloc_hook.ipp // ~~~~~~~~~~~~~~~~~~~~~~~~~~~ // -// Copyright (c) 2003-2016 Christopher M. Kohlhoff (chris at kohlhoff dot com) +// Copyright (c) 2003-2021 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) @@ -16,6 +16,7 @@ #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) #include "asio/detail/config.hpp" +#include "asio/detail/memory.hpp" #include "asio/detail/thread_context.hpp" #include "asio/detail/thread_info_base.hpp" #include "asio/handler_alloc_hook.hpp" @@ -24,24 +25,33 @@ namespace asio { -void* asio_handler_allocate(std::size_t size, ...) +asio_handler_allocate_is_deprecated +asio_handler_allocate(std::size_t size, ...) { -#if !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) +#if defined(ASIO_NO_DEPRECATED) + (void)size; + return asio_handler_allocate_is_no_longer_used(); +#elif !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) return detail::thread_info_base::allocate( - detail::thread_context::thread_call_stack::top(), size); + detail::thread_context::top_of_thread_call_stack(), size); #else // !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) - return ::operator new(size); + return aligned_new(ASIO_DEFAULT_ALIGN, size); #endif // !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) } -void asio_handler_deallocate(void* pointer, std::size_t size, ...) +asio_handler_deallocate_is_deprecated +asio_handler_deallocate(void* pointer, std::size_t size, ...) { -#if !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) +#if defined(ASIO_NO_DEPRECATED) + (void)pointer; + (void)size; + return asio_handler_deallocate_is_no_longer_used(); +#elif !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) detail::thread_info_base::deallocate( - detail::thread_context::thread_call_stack::top(), pointer, size); + detail::thread_context::top_of_thread_call_stack(), pointer, size); #else // !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) (void)size; - ::operator delete(pointer); + aligned_delete(pointer) #endif // !defined(ASIO_DISABLE_SMALL_BLOCK_RECYCLING) } |