
Hi Vicente, On Monday, 16. January 2012 19:51:21 Vicente J. Botet Escriba wrote:
I have adapted your patch and many other tickets and committed the whole on trunk at revision 76543.
* [@http://svn.boost.org/trac/boost/ticket/2741 #2741] Proposal to manage portable and non portable thread attributes. * [@http://svn.boost.org/trac/boost/ticket/6195 #6195] c++11 compliance: Provide the standard time related interface using Boost.Chrono. * [@http://svn.boost.org/trac/boost/ticket/6224 #6224] c++11 compliance: Add the use of standard noexcept on compilers supporting them. * [@http://svn.boost.org/trac/boost/ticket/6226 #6226] c++11 compliance: Add explicit bool conversion from locks. * [@http://svn.boost.org/trac/boost/ticket/6230 #6230] c++11 compliance: Follows the exception reporting mechanism as defined in the c++11. * [@http://svn.boost.org/trac/boost/ticket/6272 #6272] c++11 compliance: Add thread::id hash specialization. * [@http://svn.boost.org/trac/boost/ticket/6273 #6273] c++11 compliance: Add cv_status enum class and use it on the conditions wait functions. * [@http://svn.boost.org/trac/boost/ticket/6194 #6194] Adapt to Boost.Move.
Fixed Bugs:
* [@http://svn.boost.org/trac/boost/ticket/2575 #2575] Bug- Boost 1.36.0 on Itanium platform. * [@http://svn.boost.org/trac/boost/ticket/4921 #4921] BOOST_THREAD_USE_DLL and BOOST_THREAD_USE_LIB are crucial and need to be documented. * [@http://svn.boost.org/trac/boost/ticket/5013 #5013] documentation: boost::thread: pthreas_exit causes terminate().
* [@http://svn.boost.org/trac/boost/ticket/5351 #5351] interrupt a future get boost::unknown_exception. * [@http://svn.boost.org/trac/boost/ticket/5516 #5516] Upgrade lock is not acquired when previous upgrade lock releases if another read lock is present. * [@http://svn.boost.org/trac/boost/ticket/5990 #5990] shared_future<T>::get() has wrong return type. * [@http://svn.boost.org/trac/boost/ticket/6174 #6174] packaged_task doesn't correctly handle moving results.
I would have liked separate smaller commits for those. One big one is harder to debug.
I have tested it on Mac gcc and clang, Windows MSVC-10, MinGw gcc-4.6.0 0x.
I have some trouble yet on thread constructors. Hopping I have not introduced other regressions on other platforms.
Well, it seems my code is now broken with suspicious errors from Boost.TypeTraits: In file included from BOOST_ROOT/boost/chrono/duration.hpp:42:0, from BOOST_ROOT/boost/chrono/time_point.hpp:33, from BOOST_ROOT/boost/thread/locks.hpp:15, from BOOST_ROOT/boost/thread/pthread/mutex.hpp:12, from BOOST_ROOT/boost/thread/mutex.hpp:16, from BOOST_ROOT/boost/pool/detail/mutex.hpp:14, from BOOST_ROOT/boost/pool/poolfwd.hpp:24, from BOOST_ROOT/boost/pool/pool.hpp:27, from myfile.h:18, from myfile.cpp:10: BOOST_ROOT/boost/type_traits/common_type.hpp:121:34: error: ‘declval_b’ is not a type BOOST_ROOT/boost/type_traits/common_type.hpp:121:46: error: expected ‘,’ or ‘...’ before ‘?’ token BOOST_ROOT/boost/type_traits/common_type.hpp:121:73: error: ISO C++ forbids declaration of ‘BOOST_TYPEOF_TPL’ with no type [-fpermissive] BOOST_ROOT/boost/type_traits/common_type.hpp:121:73: error: expected ‘;’ at end of member declaration BOOST_ROOT/boost/type_traits/common_type.hpp:121:75: error: invalid use of template-name ‘boost::type’ without an argument list "myfile.cpp" compiles cleanly with 1.48.0 and trunk before 76543. Any ideas or do I have to build a testcase for this? Yours, Jürgen -- Dipl.-Math. Jürgen Hunold | IVE mbH Software-Entwickler | Lützerodestraße 10 Tel: +49 511 897668 33 | 30161 Hannover, Germany Fax: +49 511 897668 29 | http://www.ivembh.de juergen.hunold@ivembh.de | | Geschäftsführer: Sitz des Unternehmens: Hannover | Univ.-Prof. Dr.-Ing. Thomas Siefer Amtsgericht Hannover, HRB 56965 | PD Dr.-Ing. Alfons Radtke