diff -r boost//interprocess/detail/intermodule_singleton.hpp Bistro/thirdparty/boost/interprocess/detail/intermodule_singleton.hpp 668c668 < while(1){ --- > for (unsigned i = 0; ; ++i){ 676c676 < thread_yield(); --- > thread_yield(i); 818c818 < while(1){ --- > for (unsigned i = 0; ; ++i){ 825c825 < detail::thread_yield(); --- > detail::thread_yield(i); diff -r boost//interprocess/detail/managed_open_or_create_impl.hpp Bistro/thirdparty/boost/interprocess/detail/managed_open_or_create_impl.hpp 333c333 < while(!completed){ --- > for (unsigned i = 0; !completed; ++i){ 357c357 < detail::thread_yield(); --- > detail::thread_yield(i); 403c403 < while(filesize == 0){ --- > for (unsigned i = 0; filesize == 0; ++i){ 407c407 < detail::thread_yield(); --- > detail::thread_yield(i); 419,420c419,420 < while(value == InitializingSegment || value == UninitializedSegment){ < detail::thread_yield(); --- > for (unsigned i = 0; value == InitializingSegment || value == UninitializedSegment; ++i){ > detail::thread_yield(i); diff -r boost//interprocess/detail/os_thread_functions.hpp Bistro/thirdparty/boost/interprocess/detail/os_thread_functions.hpp 58,59c58,59 < inline void thread_yield() < { winapi::sched_yield(); } --- > inline void thread_yield(unsigned _iterations) > { winapi::sched_yield(_iterations); } 160c160 < inline void thread_yield() --- > inline void thread_yield(unsigned) diff -r boost//interprocess/detail/robust_emulation.hpp Bistro/thirdparty/boost/interprocess/detail/robust_emulation.hpp 232c232 < while(1){ --- > for (unsigned i = 0; ; ++i){ 239c239 < detail::thread_yield(); --- > detail::thread_yield(i); 295c295 < do{ --- > for (unsigned i = 0; ; ++i){ 305,306c305,306 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } diff -r boost//interprocess/detail/win32_api.hpp Bistro/thirdparty/boost/interprocess/detail/win32_api.hpp 13a14,17 > #if !defined(BOOST_SLEEP_DURATION_FOR_ITERATIONS) > #define BOOST_SLEEP_DURATION_FOR_ITERATIONS(_iterations) (((_iterations) > 65535) ? 1 : 0) > #endif > 912,913c916,917 < inline void sched_yield() < { Sleep(1); } --- > inline void sched_yield(unsigned _iterations) > { Sleep(BOOST_SLEEP_DURATION_FOR_ITERATIONS(_iterations)); } diff -r boost//interprocess/sync/emulation/interprocess_condition.hpp Bistro/thirdparty/boost/interprocess/sync/emulation/interprocess_condition.hpp 56,57c56,57 < while(SLEEP != detail::atomic_cas32(const_cast(&m_command), command, SLEEP)){ < detail::thread_yield(); --- > for (unsigned i = 0; SLEEP != detail::atomic_cas32(const_cast(&m_command), command, SLEEP); ++i){ > detail::thread_yield(i); 61,62c61,62 < while(SLEEP != detail::atomic_cas32(const_cast(&m_command), 0)){ < detail::thread_yield(); --- > for (unsigned i = 0; SLEEP != detail::atomic_cas32(const_cast(&m_command), 0); ++i){ > detail::thread_yield(i); 124,125c124,125 < while(detail::atomic_read32(&m_command) == SLEEP){ < detail::thread_yield(); --- > for (unsigned i = 0; detail::atomic_read32(&m_command) == SLEEP; ++i){ > detail::thread_yield(i); diff -r boost//interprocess/sync/emulation/interprocess_semaphore.hpp Bistro/thirdparty/boost/interprocess/sync/emulation/interprocess_semaphore.hpp 32,33c32,33 < while(detail::atomic_read32(&m_count) == 0){ < detail::thread_yield(); --- > for(unsigned i = 0; detail::atomic_read32(&m_count) == 0; ++i){ > detail::thread_yield(i); 54c54 < do{ --- > for (unsigned i = 0; ; ++i) { 64,65c64,65 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } diff -r boost//interprocess/sync/emulation/mutex.hpp Bistro/thirdparty/boost/interprocess/sync/emulation/mutex.hpp 63c63 < do{ --- > for (unsigned i = 0; ; ++i) { 70,71c70,71 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } 91c91 < do{ --- > for (unsigned i = 0; ; ++i) { 101,102c101,102 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } diff -r boost//interprocess/sync/file_lock.hpp Bistro/thirdparty/boost/interprocess/sync/file_lock.hpp 153c153 < do{ --- > for (unsigned i = 0; ; ++i){ 167c167 < detail::thread_yield(); --- > detail::thread_yield(i); 169c169 < }while (true); --- > } 181c181 < do{ --- > for (unsigned i = 0; ; ++i){ 195c195 < detail::thread_yield(); --- > detail::thread_yield(i); 197c197 < }while (true); --- > } diff -r boost//interprocess/sync/posix/interprocess_mutex.hpp Bistro/thirdparty/boost/interprocess/sync/posix/interprocess_mutex.hpp 86c86 < do{ --- > for (unsigned i = 0; ; ++i){ 96,97c96,97 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } diff -r boost//interprocess/sync/posix/interprocess_recursive_mutex.hpp Bistro/thirdparty/boost/interprocess/sync/posix/interprocess_recursive_mutex.hpp 87c87 < do{ --- > for (unsigned i = 0; ; ++i){ 97,98c97,98 < detail::thread_yield(); < }while (true); --- > detail::thread_yield(i); > } diff -r boost//interprocess/sync/posix/semaphore_wrapper.hpp Bistro/thirdparty/boost/interprocess/sync/posix/semaphore_wrapper.hpp 180c180 < while((now = microsec_clock::universal_time()) < abs_time){ --- > for (unsigned i = 0; (now = microsec_clock::universal_time()) < abs_time; ++i){ 183c183 < thread_yield(); --- > thread_yield(i);