1 // 2 // detail/select_interrupter.hpp 3 // ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 // 5 // Copyright (c) 2003-2021 Christopher M. Kohlhoff (chris at kohlhoff dot com) 6 // 7 // Distributed under the Boost Software License, Version 1.0. (See accompanying 8 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 9 // 10 11 #ifndef BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP 12 #define BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP 13 14 #if defined(_MSC_VER) && (_MSC_VER >= 1200) 15 # pragma once 16 #endif // defined(_MSC_VER) && (_MSC_VER >= 1200) 17 18 #include <boost/asio/detail/config.hpp> 19 20 #if !defined(BOOST_ASIO_WINDOWS_RUNTIME) 21 22 #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) 23 # include <boost/asio/detail/socket_select_interrupter.hpp> 24 #elif defined(BOOST_ASIO_HAS_EVENTFD) 25 # include <boost/asio/detail/eventfd_select_interrupter.hpp> 26 #else 27 # include <boost/asio/detail/pipe_select_interrupter.hpp> 28 #endif 29 30 namespace boost { 31 namespace asio { 32 namespace detail { 33 34 #if defined(BOOST_ASIO_WINDOWS) || defined(__CYGWIN__) || defined(__SYMBIAN32__) 35 typedef socket_select_interrupter select_interrupter; 36 #elif defined(BOOST_ASIO_HAS_EVENTFD) 37 typedef eventfd_select_interrupter select_interrupter; 38 #else 39 typedef pipe_select_interrupter select_interrupter; 40 #endif 41 42 } // namespace detail 43 } // namespace asio 44 } // namespace boost 45 46 #endif // !defined(BOOST_ASIO_WINDOWS_RUNTIME) 47 48 #endif // BOOST_ASIO_DETAIL_SELECT_INTERRUPTER_HPP 49