////////////////////////////////////////////////////////////////////////////// // // (C) Copyright Vicente J. Botet Escriba 2008. 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) // // See http://www.boost.org/libs/thread for documentation. // ////////////////////////////////////////////////////////////////////////////// #include #include #include #include boost::mutex out_global_mutex; void cleanup_i(boost::thread::id* data) { boost::mutex::scoped_lock out_guard(out_global_mutex); std::cout << "cleanup_i " << *data <<" " << boost::this_thread::get_id()< specific_ptr_i(cleanup_i); boost::once_flag global_init_flag=BOOST_ONCE_INIT; void global_init() { boost::mutex::scoped_lock out_guard(out_global_mutex); std::cout << "global_init" << boost::this_thread::get_id()<