// Copyright Oliver Kowalke 2009. // Distributed under the Boost Software License, Version 1.0. // (See accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) #ifndef _BIND_PROCESSOR_AIX_H #define _BIND_PROCESSOR_AIX_H extern "C" { #include #include } #include #include #include #include inline void bind_to_processor( unsigned int n) { BOOST_ASSERT( n >= 0); BOOST_ASSERT( n < boost::thread::hardware_concurrency() ); if ( ::bindprocessor( BINDTHREAD, ::thread_self(), static_cast< cpu_t >( n) ) == -1) throw boost::system::system_error( boost::system::error_code( errno, boost::system::system_category) ); } #include #endif // _BIND_PROCESSOR_AIX_H