// Copyright (C) 2001-2003 // William E. Kempf // // 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) #include #include #include #include #include int once_value = 0; boost::once_flag once = BOOST_ONCE_INIT; void init_once_value() { once_value++; } void test_once_thread() { boost::call_once(init_once_value, once); } void do_test_once() { const int NUMTHREADS=5; boost::thread_group threads; for (int i=0; iadd(BOOST_TEST_CASE(test_once)); return test; }