
Le 17/01/12 19:42, Vicente J. Botet Escriba a écrit :
Le 17/01/12 16:19, Jürgen Hunold a écrit :
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. Hi,
sorry for the disturbance. Yes, I know that this was a too big commit, but as I was cummulated a lot of dev, it was quite complicated to commit them separately.
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?
Do you know if the test pass for type_traits/common_type on your configuration? or Boost.Chrono?
I suspect that there are some configurations that doesn't support it and I should have to use Boost.Chrono conditionally. BTW, which platform/compiler are you using? Please, could you make a ticket, I will try to introduce the conditional use of Boost.Chrono today.
Hi, I have updated Boost.Thread (Committed revision 76570) so that the user can stay that Boost.Thread must not use Boost.Chrono. You need to define BOOST_THREAD_DONT_USE_CHRONO to this effect. Please could you update the trunk, try it and tell me if this is satisfactory for you? Best, Vicente