|
From: Frank M. H. <fm...@us...> - 2007-03-02 16:00:43
|
Update of /cvsroot/boost-sandbox/boost-sandbox/boost In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv32237/boost Modified Files: thread_safe_signal.hpp Log Message: Got rid of signalslib::connection::block() and unblock() and replaced them with exception-safe signalslib::shared_connection_block() class. The new way is also more useable in a multi-threaded context, since it prevents one thread from unexpectedly unblocking a connection that another thread wants blocked. Index: thread_safe_signal.hpp =================================================================== RCS file: /cvsroot/boost-sandbox/boost-sandbox/boost/thread_safe_signal.hpp,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- thread_safe_signal.hpp 1 Mar 2007 15:57:25 -0000 1.16 +++ thread_safe_signal.hpp 2 Mar 2007 16:00:38 -0000 1.17 @@ -44,8 +44,9 @@ #include <boost/thread_safe_signals/detail/signals_common_macros.hpp> #include <boost/thread_safe_signals/detail/slot_groups.hpp> #include <boost/thread_safe_signals/detail/slot_call_iterator.hpp> -#include <boost/thread_safe_signals/connection.hpp> #include <boost/thread_safe_signals/auto_threaded.hpp> +#include <boost/thread_safe_signals/connection.hpp> +#include <boost/thread_safe_signals/shared_connection_block.hpp> #include <boost/thread_safe_signals/single_threaded.hpp> #include <boost/thread_safe_signals/slot.hpp> #include <boost/thread_safe_signals/track.hpp> @@ -62,10 +63,10 @@ namespace signals = signalslib; #endif template<typename Signature, - typename Combiner = boost::last_value<typename boost::function_traits<Signature>::result_type >, + typename Combiner = last_value<typename boost::function_traits<Signature>::result_type>, typename Group = int, typename GroupCompare = std::less<Group>, - typename SlotFunction = boost::function<Signature>, + typename SlotFunction = function<Signature>, typename ThreadingModel = signalslib::auto_threaded > class signal: public signalslib::detail::signalN<function_traits<Signature>::arity, Signature, Combiner, Group, GroupCompare, SlotFunction, ThreadingModel>::type |