2
0
mirror of https://github.com/boostorg/fiber.git synced 2026-02-13 00:12:17 +00:00

some fixes

This commit is contained in:
Oliver Kowalke
2013-06-10 20:11:52 +02:00
parent 6b5d58d2bb
commit 61c3fd4589
15 changed files with 168 additions and 98 deletions

View File

@@ -24,27 +24,27 @@
namespace boost {
namespace this_fiber {
disable_interruption::disable_interruption() :
disable_interruption::disable_interruption() BOOST_NOEXCEPT :
set_( ( fibers::detail::scheduler::instance().active()->interruption_blocked() ) )
{
if ( ! set_)
fibers::detail::scheduler::instance().active()->interruption_blocked( true);
}
disable_interruption::~disable_interruption()
disable_interruption::~disable_interruption() BOOST_NOEXCEPT
{
if ( ! set_)
fibers::detail::scheduler::instance().active()->interruption_blocked( false);
}
restore_interruption::restore_interruption( disable_interruption & disabler) :
restore_interruption::restore_interruption( disable_interruption & disabler) BOOST_NOEXCEPT :
disabler_( disabler)
{
if ( ! disabler_.set_)
fibers::detail::scheduler::instance().active()->interruption_blocked( false);
}
restore_interruption::~restore_interruption()
restore_interruption::~restore_interruption() BOOST_NOEXCEPT
{
if ( ! disabler_.set_)
fibers::detail::scheduler::instance().active()->interruption_blocked( true);