From 4cc7c54535b44322b0e94d868559cd06f716f2e5 Mon Sep 17 00:00:00 2001 From: Oliver Kowalke Date: Sun, 15 Dec 2013 17:55:19 +0100 Subject: [PATCH] main context and this_fiber::thread_affinity() --- include/boost/fiber/operations.hpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/include/boost/fiber/operations.hpp b/include/boost/fiber/operations.hpp index 60098c37..2379f72c 100644 --- a/include/boost/fiber/operations.hpp +++ b/include/boost/fiber/operations.hpp @@ -64,11 +64,18 @@ void sleep_for( chrono::duration< Rep, Period > const& timeout_duration) inline bool thread_affinity() BOOST_NOEXCEPT -{ return fibers::detail::scheduler::instance()->active()->thread_affinity(); } +{ + return fibers::detail::scheduler::instance()->active() + ? fibers::detail::scheduler::instance()->active()->thread_affinity() + : true; +} inline void thread_affinity( bool req) BOOST_NOEXCEPT -{ fibers::detail::scheduler::instance()->active()->thread_affinity( req); } +{ + if ( fibers::detail::scheduler::instance()->active() ) + fibers::detail::scheduler::instance()->active()->thread_affinity( req); +} }