Anthony Williams | 21 May 14:23

Re: [thread] test_lock* and test_move* failures on trunk

Markus Schöpflin <markus.schoepflin <at> comsoft.de> writes:

> a number of platforms currently fail to compile these tests with an error 
> message similar to the following:
>
> cxx: Error: ../boost/thread/pthread/thread.hpp, line 169: more than one
>            instance of overloaded function "boost::bind" matches the argument
>            list: (ambovlfun)
>              function template "boost::bind<R,F,A1>(F, A1)"
>              function template "boost::bind(R (T::*)(), A1)"
>
>
> The code in question reads:
>
>         template <class F,class A1>
>          thread(F f,A1 a1):
>            thread_info(make_thread_info(boost::bind<void>(f,a1)))
>          {
>              start_thread();
>          }
> Would the thread maintainer please decide on a fix and then commit it?

Could you try adding the following overload of the thread constructor
to boost/thread/pthread/thread.hpp

        template <class T,class R,class P1,class A1>
            thread(R (T::*f)(P1),A1 a1):
            thread_info(make_thread_info(boost::bind<void>(boost::mem_fn(f),a1)))
        {
            start_thread();
        }

If that makes the problem go away, I'll commit the change.

Anthony
--

-- 
Anthony Williams            | Just Software Solutions Ltd
Custom Software Development | http://www.justsoftwaresolutions.co.uk
Registered in England, Company Number 5478976.
Registered Office: 15 Carrallack Mews, St Just, Cornwall, TR19 7UL

_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost


Gmane