2020-11-16 14:47:43 +08:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
2021-06-14 22:54:50 +08:00
|
|
|
// A multi-platform support c++11 library with focus on asynchronous socket I/O for any
|
2021-01-14 15:30:18 +08:00
|
|
|
// client application.
|
2020-11-16 14:47:43 +08:00
|
|
|
//////////////////////////////////////////////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// detail/select_interrupter.hpp
|
|
|
|
// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
|
|
//
|
2022-01-24 16:39:18 +08:00
|
|
|
// Copyright (c) 2012-2022 HALX99 (halx99 at live dot com)
|
2020-11-16 14:47:43 +08:00
|
|
|
// Copyright (c) 2003-2020 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)
|
|
|
|
//
|
|
|
|
// see also: https://github.com/chriskohlhoff/asio
|
|
|
|
//
|
|
|
|
#ifndef YASIO__SELECT_INTERRUPTER_HPP
|
|
|
|
#define YASIO__SELECT_INTERRUPTER_HPP
|
|
|
|
|
2021-06-14 22:54:50 +08:00
|
|
|
#include "yasio/compiler/feature_test.hpp"
|
|
|
|
|
2020-11-16 14:47:43 +08:00
|
|
|
#if defined(_WIN32)
|
|
|
|
# include "socket_select_interrupter.hpp"
|
|
|
|
#elif defined(__linux__)
|
|
|
|
# include "eventfd_select_interrupter.hpp"
|
|
|
|
#else
|
|
|
|
# include "pipe_select_interrupter.hpp"
|
|
|
|
#endif
|
|
|
|
|
|
|
|
namespace yasio
|
|
|
|
{
|
2021-06-14 22:54:50 +08:00
|
|
|
YASIO__NS_INLINE
|
2020-11-16 14:47:43 +08:00
|
|
|
namespace inet
|
|
|
|
{
|
|
|
|
|
|
|
|
#if defined(_WIN32)
|
|
|
|
typedef socket_select_interrupter select_interrupter;
|
|
|
|
#elif defined(__linux__)
|
|
|
|
typedef eventfd_select_interrupter select_interrupter;
|
|
|
|
#else
|
|
|
|
typedef pipe_select_interrupter select_interrupter;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
} // namespace inet
|
|
|
|
} // namespace yasio
|
|
|
|
|
|
|
|
#endif // YASIO__SELECT_INTERRUPTER_HPP
|