summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp')
-rw-r--r--3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp30
1 files changed, 27 insertions, 3 deletions
diff --git a/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp b/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp
index 261ece6f531..ff4173dcdf2 100644
--- a/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp
+++ b/3rdparty/asio/src/tests/unit/windows/overlapped_ptr.cpp
@@ -2,7 +2,7 @@
// overlapped_ptr.cpp
// ~~~~~~~~~~~~~~~~~~
//
-// 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,8 @@
// Test that header file is self-contained.
#include "asio/windows/overlapped_ptr.hpp"
+#include "asio/any_io_executor.hpp"
+#include "asio/executor.hpp"
#include "asio/io_context.hpp"
#include "../unit_test.hpp"
@@ -49,6 +51,10 @@ void test()
try
{
io_context ioc;
+ asio::any_io_executor ex1(ioc.get_executor());
+#if !defined(ASIO_NO_TS_EXECUTORS)
+ asio::executor ex2(ioc.get_executor());
+#endif // !defined(ASIO_NO_TS_EXECUTORS)
// basic_overlapped_ptr constructors.
@@ -57,6 +63,15 @@ void test()
win::overlapped_ptr ptr2(ioc, &overlapped_handler_1);
win::overlapped_ptr ptr3(ioc, overlapped_handler_2());
+ win::overlapped_ptr ptr4(ioc.get_executor(), &overlapped_handler_1);
+ win::overlapped_ptr ptr5(ioc.get_executor(), overlapped_handler_2());
+ win::overlapped_ptr ptr6(ex1, &overlapped_handler_1);
+ win::overlapped_ptr ptr7(ex1, overlapped_handler_2());
+#if !defined(ASIO_NO_TS_EXECUTORS)
+ win::overlapped_ptr ptr8(ex2, &overlapped_handler_1);
+ win::overlapped_ptr ptr9(ex2, overlapped_handler_2());
+#endif // !defined(ASIO_NO_TS_EXECUTORS)
+
// overlapped_ptr functions.
ptr1.reset();
@@ -64,11 +79,20 @@ void test()
ptr2.reset(ioc, &overlapped_handler_1);
ptr3.reset(ioc, overlapped_handler_2());
+ ptr2.reset(ioc.get_executor(), &overlapped_handler_1);
+ ptr3.reset(ioc.get_executor(), overlapped_handler_2());
+ ptr2.reset(ex1, &overlapped_handler_1);
+ ptr3.reset(ex1, overlapped_handler_2());
+#if !defined(ASIO_NO_TS_EXECUTORS)
+ ptr3.reset(ex2, &overlapped_handler_1);
+ ptr3.reset(ex2, overlapped_handler_2());
+#endif // !defined(ASIO_NO_TS_EXECUTORS)
+
OVERLAPPED* ov1 = ptr1.get();
(void)ov1;
- const win::overlapped_ptr& ptr4(ptr1);
- const OVERLAPPED* ov2 = ptr4.get();
+ const win::overlapped_ptr& ptr10(ptr1);
+ const OVERLAPPED* ov2 = ptr10.get();
(void)ov2;
OVERLAPPED* ov3 = ptr1.release();