Chris@16: #ifndef BOOST_THREAD_DETAIL_THREAD_INTERRUPTION_HPP Chris@16: #define BOOST_THREAD_DETAIL_THREAD_INTERRUPTION_HPP Chris@16: // Distributed under the Boost Software License, Version 1.0. (See Chris@16: // accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: // (C) Copyright 2007-9 Anthony Williams Chris@16: // (C) Copyright 2012 Vicente J. Botet Escriba Chris@16: Chris@16: #include Chris@16: #include Chris@16: Chris@16: #if defined BOOST_THREAD_PROVIDES_INTERRUPTIONS Chris@16: Chris@16: namespace boost Chris@16: { Chris@16: namespace this_thread Chris@16: { Chris@16: class BOOST_THREAD_DECL disable_interruption Chris@16: { Chris@16: bool interruption_was_enabled; Chris@16: friend class restore_interruption; Chris@16: public: Chris@16: BOOST_THREAD_NO_COPYABLE(disable_interruption) Chris@16: disable_interruption() BOOST_NOEXCEPT; Chris@16: ~disable_interruption() BOOST_NOEXCEPT; Chris@16: }; Chris@16: Chris@16: class BOOST_THREAD_DECL restore_interruption Chris@16: { Chris@16: public: Chris@16: BOOST_THREAD_NO_COPYABLE(restore_interruption) Chris@16: explicit restore_interruption(disable_interruption& d) BOOST_NOEXCEPT; Chris@16: ~restore_interruption() BOOST_NOEXCEPT; Chris@16: }; Chris@16: } Chris@16: } Chris@16: Chris@16: #endif // BOOST_THREAD_PROVIDES_INTERRUPTIONS Chris@16: #endif // header