diff --git a/include/boost/fiber/operations.hpp b/include/boost/fiber/operations.hpp index 20aaa699..bd69968c 100644 --- a/include/boost/fiber/operations.hpp +++ b/include/boost/fiber/operations.hpp @@ -39,9 +39,7 @@ void yield() { template< typename Clock, typename Duration > void sleep_until( std::chrono::time_point< Clock, Duration > const& sleep_time) { - fibers::detail::spinlock splk; - std::unique_lock< fibers::detail::spinlock > lk( splk); - fibers::context::active()->do_wait_until( sleep_time, lk); + fibers::context::active()->do_wait_until( sleep_time); // check if fiber was interrupted interruption_point(); diff --git a/src/context.cpp b/src/context.cpp index 1e56b908..fb41cefa 100644 --- a/src/context.cpp +++ b/src/context.cpp @@ -57,7 +57,7 @@ context::release() { splk_.unlock(); // notify all waiting fibers - for ( context * f : wait_queue_) { + for ( context * f : tmp) { do_signal( f); }