upgraded to boost::signals2 because signals is deprecated

This commit is contained in:
Daniel Larimer 2014-02-15 01:52:19 -05:00
parent 00907d8f57
commit ded475f45a

View file

@ -1,4 +1,4 @@
#include <boost/signal.hpp>
#include <boost/signals2/signal.hpp>
#include <fc/thread/future.hpp>
#include <fc/thread/thread.hpp>
@ -6,20 +6,20 @@
namespace fc {
#if !defined(BOOST_NO_TEMPLATE_ALIASES)
template<typename T>
using signal = boost::signal<T>;
using signal = boost::signals2::signal<T>;
#else
#endif
template<typename T>
inline T wait( boost::signal<void(T)>& sig, const microseconds& timeout_us=microseconds::maximum() ) {
inline T wait( boost::signals2::signal<void(T)>& sig, const microseconds& timeout_us=microseconds::maximum() ) {
typename promise<T>::ptr p(new promise<T>());
boost::signals::scoped_connection c = sig.connect( [=]( T t ) { p->set_value(t); } );
boost::signals2::scoped_connection c( sig.connect( [=]( T t ) { p->set_value(t); } ));
return p->wait( timeout_us );
}
inline void wait( boost::signal<void()>& sig, const microseconds& timeout_us=microseconds::maximum() ) {
inline void wait( boost::signals2::signal<void()>& sig, const microseconds& timeout_us=microseconds::maximum() ) {
promise<void>::ptr p(new promise<void>());
boost::signals::scoped_connection c = sig.connect( [=]() { p->set_value(); } );
boost::signals2::scoped_connection c( sig.connect( [=]() { p->set_value(); } ));
p->wait( timeout_us );
}
}