From 1222c63babe792b1bb1f5cadee4636a903dfdc3c Mon Sep 17 00:00:00 2001 From: Oliver Kowalke Date: Fri, 4 Mar 2011 19:34:13 +0100 Subject: [PATCH] use context::detail::stack_helper --- libs/fiber/src/asym_fiber.cpp | 62 +++-------------------------------- libs/fiber/src/sym_fiber.cpp | 62 +++-------------------------------- 2 files changed, 10 insertions(+), 114 deletions(-) diff --git a/libs/fiber/src/asym_fiber.cpp b/libs/fiber/src/asym_fiber.cpp index 2904d399..f6ec46de 100644 --- a/libs/fiber/src/asym_fiber.cpp +++ b/libs/fiber/src/asym_fiber.cpp @@ -8,74 +8,22 @@ #include -#include - -extern "C" { -#if defined(BOOST_WINDOWS) -#include -#else -#include -#include -#endif -} - #include +#include +#include + #include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif -namespace { - -#if defined(BOOST_WINDOWS) - -struct stack_helper -{ - static std::size_t max_size() - { return 8 * 1024 * 1024; } - - static std::size_t min_size() - { - SYSTEM_INFO si; - ::GetSystemInfo( & si); - return si.dwAllocationGranularity; - } -}; - -#else - -struct stack_helper -{ - static std::size_t max_size() - { - rlimit limit; - if ( 0 > ::getrlimit( RLIMIT_STACK, & limit) ) - return 8 * 1024 * 1024; - return RLIM_INFINITY != limit.rlim_max - ? limit.rlim_max - : 8 * 1024 * 1024; - } - - static std::size_t min_size() - { return SIGSTKSZ; } -}; - -#endif - -} - namespace boost { namespace fibers { -#if defined(BOOST_WINDOWS) -std::size_t asym_fiber::max_stacksize = stack_helper::max_size(); -std::size_t asym_fiber::min_stacksize = stack_helper::min_size(); -#else -std::size_t asym_fiber::max_stacksize = stack_helper::max_size(); -std::size_t asym_fiber::min_stacksize = stack_helper::min_size(); -#endif +std::size_t asym_fiber::max_stacksize = boost::contexts::detail::stack_helper::maximal_stacksize(); +std::size_t asym_fiber::min_stacksize = boost::contexts::detail::stack_helper::minimal_stacksize(); std::size_t asym_fiber::default_stacksize = 256 * 1024; asym_fiber::asym_fiber() : diff --git a/libs/fiber/src/sym_fiber.cpp b/libs/fiber/src/sym_fiber.cpp index d66f966a..088bf277 100644 --- a/libs/fiber/src/sym_fiber.cpp +++ b/libs/fiber/src/sym_fiber.cpp @@ -8,74 +8,22 @@ #include -#include - -extern "C" { -#if defined(BOOST_WINDOWS) -#include -#else -#include -#include -#endif -} - #include +#include +#include + #include #ifdef BOOST_HAS_ABI_HEADERS # include BOOST_ABI_PREFIX #endif -namespace { - -#if defined(BOOST_WINDOWS) - -struct stack_helper -{ - static std::size_t max_size() - { return 8 * 1024 * 1024; } - - static std::size_t min_size() - { - SYSTEM_INFO si; - ::GetSystemInfo( & si); - return si.dwAllocationGranularity; - } -}; - -#else - -struct stack_helper -{ - static std::size_t max_size() - { - rlimit limit; - if ( 0 > ::getrlimit( RLIMIT_STACK, & limit) ) - return 8 * 1024 * 1024; - return RLIM_INFINITY != limit.rlim_max - ? limit.rlim_max - : 8 * 1024 * 1024; - } - - static std::size_t min_size() - { return SIGSTKSZ; } -}; - -#endif - -} - namespace boost { namespace fibers { -#if defined(BOOST_WINDOWS) -std::size_t sym_fiber::max_stacksize = stack_helper::max_size(); -std::size_t sym_fiber::min_stacksize = stack_helper::min_size(); -#else -std::size_t sym_fiber::max_stacksize = stack_helper::max_size(); -std::size_t sym_fiber::min_stacksize = stack_helper::min_size(); -#endif +std::size_t sym_fiber::max_stacksize = boost::contexts::detail::stack_helper::maximal_stacksize(); +std::size_t sym_fiber::min_stacksize = boost::contexts::detail::stack_helper::minimal_stacksize(); std::size_t sym_fiber::default_stacksize = 256 * 1024; sym_fiber