| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | //// detail/mutex.hpp// ~~~~~~~~~~~~~~~~//// 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)//#ifndef BOOST_ASIO_DETAIL_MUTEX_HPP#define BOOST_ASIO_DETAIL_MUTEX_HPP#if defined(_MSC_VER) && (_MSC_VER >= 1200)# pragma once#endif // defined(_MSC_VER) && (_MSC_VER >= 1200)#include <boost/asio/detail/config.hpp>#if !defined(BOOST_ASIO_HAS_THREADS)# include <boost/asio/detail/null_mutex.hpp>#elif defined(BOOST_ASIO_WINDOWS)# include <boost/asio/detail/win_mutex.hpp>#elif defined(BOOST_ASIO_HAS_PTHREADS)# include <boost/asio/detail/posix_mutex.hpp>#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)# include <boost/asio/detail/std_mutex.hpp>#else# error Only Windows, POSIX and std::mutex are supported!#endifnamespace boost {namespace asio {namespace detail {#if !defined(BOOST_ASIO_HAS_THREADS)typedef null_mutex mutex;#elif defined(BOOST_ASIO_WINDOWS)typedef win_mutex mutex;#elif defined(BOOST_ASIO_HAS_PTHREADS)typedef posix_mutex mutex;#elif defined(BOOST_ASIO_HAS_STD_MUTEX_AND_CONDVAR)typedef std_mutex mutex;#endif} // namespace detail} // namespace asio} // namespace boost#endif // BOOST_ASIO_DETAIL_MUTEX_HPP
 |