df183087b5moving thread_safe_signals to new directory structure
Stjepan Rajko
2007-06-12 05:11:57 +0000
eaf9155b73Updated thread_safe_signals FAQ wrt using with Qt.
Frank Mori Hess
2007-06-08 17:31:57 +0000
7058019227Attempt to suppress unused variable warnings on MSVC 7.1
Frank Mori Hess
2007-06-08 13:44:11 +0000
c82c37fea7Fix for some unused parameter warnings, from David Matz <david.matz@spatialview.com>
Frank Mori Hess
2007-06-07 20:27:59 +0000
871eb30f0dFix for compilation error under MSVC 7.1
Frank Mori Hess
2007-06-07 20:23:01 +0000
2d0b5ba0cfPatch from "Stjepan Rajko" <stipe@asu.edu> that fixes some compile warnings and a compile error under MSVC.
Frank Mori Hess
2007-03-18 23:12:00 +0000
436c0aa818We can't explicitly track signals, except in the normal way with shared_ptr.
Frank Mori Hess
2007-03-13 17:38:37 +0000
8d85e04b85Fixed compilation errors when signals/slot.hpp is included by itself.
Frank Mori Hess
2007-03-13 17:22:08 +0000
b25c8332e1Fixed some confusion over ConnectionBody template parameter.
Frank Mori Hess
2007-03-09 14:27:22 +0000
f441823a89Declare null_deleter as extern inline.
Frank Mori Hess
2007-03-07 16:29:35 +0000
9af73230c1Removed obsolete header track.hpp
Frank Mori Hess
2007-03-07 14:42:14 +0000
4616b2392bUpdated documentation.
Frank Mori Hess
2007-03-06 21:51:55 +0000
c41ae098e5Added some missing BOOST_ABI_PREFIX/BOOST_ABI_SUFFIX
Frank Mori Hess
2007-03-06 18:17:31 +0000
02af416ff3Added use of BOOST_STATIC_CONSTANT.
Frank Mori Hess
2007-03-06 16:59:33 +0000
33ee0681b3Added shared_connection_block::blocking() query.
Frank Mori Hess
2007-03-06 16:58:30 +0000
e7382cd7c0Removed overload of slot::track() that takes a signal reference, since signals cannot be tracked in general (except in the usual way all other objects can be tracked.
Frank Mori Hess
2007-03-05 21:08:38 +0000
e10508c674Copied from signals/doc.
Frank Mori Hess
2007-03-05 19:55:48 +0000
59b4303469Moved docs from libs/signals/doc. Updated to reflect some of the more recent changes.
Frank Mori Hess
2007-03-05 19:54:28 +0000
5c96f547cdAdded shared_connection_block::block() to allow user to re-acquire block without creating a new shared_connection_block object.
Frank Mori Hess
2007-03-05 15:34:36 +0000
011fdb87b5Throw more specific "expired_slot" exception, derived from bad_weak_ptr when slot is called with an expired tracked object.
Frank Mori Hess
2007-03-05 15:10:55 +0000
0ac91083afRestored explicit slot-to-slot tracking, since implicit version only detects slot expiration on invocation.
Frank Mori Hess
2007-03-05 14:52:46 +0000
dd5e39db65Test explicit slot-to-slot tracking.
Frank Mori Hess
2007-03-05 14:51:26 +0000
84dd05468fMade slots throw bad_weak_ptr when called with expired tracked objects. Combiners now have to catch bad_weak_ptr exceptions thrown on slot iterator dereference. Tracking works automatically now for slots that call other slots.
Frank Mori Hess
2007-03-02 22:04:47 +0000
95c9712920Added const overload of slot::operator()()
Frank Mori Hess
2007-03-02 19:34:30 +0000
61a18d5ac0Got 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.
Frank Mori Hess
2007-03-02 16:00:39 +0000
b0be180326Tweaked constant-time garbage collection to clean up long contiguous blocks of dangling connections in one pass.
Frank Mori Hess
2007-03-01 19:06:09 +0000
3acddc8716Fixed some problems with slot ordering due to my misunderstanding of how std::map::insert() handles the case of an already existing key.
Frank Mori Hess
2007-03-01 18:57:35 +0000
66f76f5839Restored per-slot locking, due to unresolvable failures in deletion_test.cpp. Restored ThreadingModel parameter due to popular demand, but made default "signals::auto_threaded" which uses the lightweight_mutex. Removed obsolete trackable.hpp.
Frank Mori Hess
2007-03-01 15:57:25 +0000
907cf1e513Added little benchmark program
Frank Mori Hess
2007-02-28 20:49:36 +0000
3d2cd4ca2aGot rid of per-slot mutexes and ThreadingModel template parameter. Use boost/detail/lightweight_mutex.hpp for the mutex now. Still need to optimize locking so it doesn't lock the mutex once for every slot during invocation.
Frank Mori Hess
2007-02-28 20:48:30 +0000
fc5da3c9afAltered tests to account for changes from signals to thread_safe_signals.
Frank Mori Hess
2007-02-28 19:44:09 +0000
fcb6e2e506Fixed signal::disconnect() with a slot function argument, which was broken by recent changes to slot class.
Frank Mori Hess
2007-02-28 19:30:18 +0000
e6dd4d2c44Added test programs from boost/libs/signals/test
Frank Mori Hess
2007-02-28 19:16:04 +0000
9f7d76cdb0Added missing typename to fix compile under gcc 4.1.2
Frank Mori Hess
2007-02-28 17:08:48 +0000
724e89c855My problems with bind syntactic sugar appear to be a compiler bug after all. The errors go away with gcc 4.1.2
Frank Mori Hess
2007-02-28 17:08:12 +0000
3f98854422Added typedefs to slot class for argN_type, and added "arity" constant.
Frank Mori Hess
2007-02-28 17:06:53 +0000
877777b79fFixed tracking of signals as slots, and added a test for same.
Frank Mori Hess
2007-02-28 16:19:41 +0000
bef2bfc4fbAdded some templated copy constructors to slot class, to prevent loss of tracking on copy construction.
Frank Mori Hess
2007-02-28 15:54:22 +0000
a24b8410bfMake tracking of double argument less meaningless by passing reference instead of copy.
Frank Mori Hess
2007-02-27 22:24:33 +0000
a7d581107bAdded Signature template parameter to slot class, so that an operator() could be added. Bind can be used to bind together slots with different signatures now. Added some syntactic sugar to slot constructors, so a bind() call is inserted automatically for the constructors that take more than one argument. All tracking for automatic connection management is now done through slot::track(). Added track_test.cpp test program, which tests some of the new functionality.
Frank Mori Hess
2007-02-27 21:19:25 +0000
54c4fe3f19Handle reference-wrapped values gracefully for the sake of the 2 parameter version of track().
Frank Mori Hess
2007-02-22 20:47:20 +0000
d68126b028Changed order of parameters in signals::track().
Frank Mori Hess
2007-02-22 20:23:48 +0000
6d1e6bdc0ftracked object returned by single argument track() should at least support conversion back into a shared_ptr.
Frank Mori Hess
2007-02-22 19:51:20 +0000
ca88cf698cForget about trying to support implicit conversions for the sake of easy binding. The user can use the two argument form of track if they need to.
Frank Mori Hess
2007-02-22 18:54:58 +0000
0153eec102Added support for 2-argument form of signalslib::track(), which allows value and shared_ptr to be specified independantly.
Frank Mori Hess
2007-02-22 16:57:12 +0000
e3fbf95743Made add_tracked() a public member of the slot class, so arbitrary objects can be added for the purpose of automatic connection management.
Frank Mori Hess
2007-02-21 20:28:14 +0000
61dfcafcb6It's silly to make track() support reference-wrapped arguments.
Frank Mori Hess
2007-02-21 15:15:23 +0000
57700dba13Fixed a race that made it possible for two slot iterators to fail a test for equality after one was copy constructed or assigned from the other.
Frank Mori Hess
2007-02-20 13:32:23 +0000
f14424fc8dAdded implicit conversion to reference type to boost::tracked
Frank Mori Hess
2007-02-20 01:19:25 +0000
79107457d5We still need to grab the tracked objects in the slot iterator before running the slot.
Frank Mori Hess
2007-02-19 03:48:35 +0000
8e51578effClean-ups made possible by reduced scope of locking in slot iterator.
Frank Mori Hess
2007-02-18 22:47:19 +0000
f8c19c9fa6reset lock_iter too when lock is deleted.
Frank Mori Hess
2007-02-18 18:16:57 +0000
9accf820fdDrop slot lock right before slot is actually executed.
Frank Mori Hess
2007-02-18 17:41:48 +0000
428e31bcaeFix set_combiner, which I broke. Only copy connection list in set_combiner if needed.
Frank Mori Hess
2007-02-18 00:13:37 +0000
d698187147Don't need to call lockNextCallable() in constructor at all (thanks Timmo).
Frank Mori Hess
2007-02-17 23:01:43 +0000
7143a7f202Reduced number of shared_pointers that have to be created during invocation by one. Made lock_memory_pool a little more likely to catch misuse. Moved some lockNextCallable() calls into slot_iterator constructor.
Frank Mori Hess
2007-02-17 22:55:13 +0000
9ae0db471aMake sure lock_pool destructs after lock.
Frank Mori Hess
2007-02-17 17:21:52 +0000
0c2497c69eImplemented swap for connections.
Frank Mori Hess
2007-02-17 16:03:32 +0000
68df3e9c37Optimized allocation of scoped_locks in slot_call_iterator.
Frank Mori Hess
2007-02-17 15:48:45 +0000
1784478549Added support for turning on and off thread safety through ThreadingModel template parameter. For thread-safe signals, the file thread_safe_signals/multi_threaded.hpp must be included in addition to the main header file.
Frank Mori Hess
2007-02-17 03:12:22 +0000
31e3582021Got rid of stupid quick_ptr optimization attempt, as the lack of thread-safety on destruction is lethal.
Frank Mori Hess
2007-02-16 23:29:45 +0000
33b678a25dAdded constant-time garbage collection.
Frank Mori Hess
2007-02-16 22:45:41 +0000
0d03885f12More performance optimizations.
Frank Mori Hess
2007-02-16 21:35:09 +0000
1f6057171cPerformance optimization: use scoped_ptr instead of shared_ptr to hold lock in slot_call_iterator. Reduces per-slot invocation overhead by about 50%.
Frank Mori Hess
2007-02-16 15:20:12 +0000
6318771524A little optimization.
Frank Mori Hess
2007-02-16 02:05:12 +0000
d5b9d38924Fixed some lock contention that was preventing signal invocation from running concurrently.
Frank Mori Hess
2007-02-15 21:42:44 +0000
bfed28f8fbAdded backwards compatibility for deprecated boost::signals::trackable
Frank Mori Hess
2007-02-15 19:26:36 +0000
3c7c3eb3d7Fixed possibility of deadlock in connection cleanup.
Frank Mori Hess
2007-02-15 04:31:01 +0000
93be68e47fFixed automatic tracking of pointers to signals. Passes all tests now (tweaked to use new automatic connection management), except for a deadlock that occasionally appears with random_signal_system.cpp.
Frank Mori Hess
2007-02-15 04:11:47 +0000
482bb28b9dFixed deadlocks observed in random_signal_system.cpp. Made disconnect-by-slot not assume there is only one matching slot.
Frank Mori Hess
2007-02-14 21:24:47 +0000
f00f13ae54Fixed some problems when running (modified version of) trackable_test.cpp
Frank Mori Hess
2007-02-14 19:23:20 +0000
f98dc803aeAdded support for automatic tracking of signals used as slots. Passes signal_n_test.cpp now.
Frank Mori Hess
2007-02-13 20:16:41 +0000
a3c518cb0cAdded support for connecting to reference_wrapper and signals as slots.
Frank Mori Hess
2007-02-13 16:17:28 +0000
c80f10da46Added const version of signal invocation operator. Got rid of noncopyable for scoped_connection.
Frank Mori Hess
2007-02-12 22:31:15 +0000
2ad5d75370Passes random_system_signal.cpp test now.
Frank Mori Hess
2007-02-12 21:58:05 +0000
609f01ff9aFixed double-erase of element in grouped_list map. Don't assume signal parameter types are default constructible. Added support for connection comparison operators.
Frank Mori Hess
2007-02-12 21:48:00 +0000
6d1e3e854eFixed some bugs in new slot ordering.
Frank Mori Hess
2007-02-12 17:14:39 +0000
c1b82c7644Optimized insertion of grouped slots so it doesn't take O(n) time anymore.
Frank Mori Hess
2007-02-12 16:43:12 +0000
6e9a154a75Fixed some memory problems with scoped_locks destructing after their mutexes.
Frank Mori Hess
2007-02-12 02:42:32 +0000
2f64b48a18Added support for signal::disconnect() by slot, and connection blocking. Passes deletion_test.cpp now.
Frank Mori Hess
2007-02-12 02:35:21 +0000
a9599a8fceFixed a bunch of implicit typename warnings seen while compiling dead_slot_test.cpp.
Frank Mori Hess
2007-02-12 00:42:01 +0000
dfef6e53e3Use optional instead of shared_ptr in group_key
Frank Mori Hess
2007-02-11 15:51:16 +0000
bf158b10efRemoved dead code.
Frank Mori Hess
2007-02-11 14:20:32 +0000
1d397e32f4Moved into namespace boost, and provided compatibility for boost::signals namespace.
Frank Mori Hess
2007-02-11 14:15:35 +0000
d9ab3613b0Modified EPG::signalN classes to conform to the portable boost signals interface.
Frank Mori Hess
2007-02-11 04:53:53 +0000
531e2055bbGot rid of useless Signature template parameter on ConnectionBody. Moved signalslib::detail::SignalN classes up two namespaces, in preparation for turning them into the portable boost::signalN classes.
Frank Mori Hess
2007-02-11 04:02:00 +0000
898c60fa5fSimplified and fixed slot group support.
Frank Mori Hess
2007-02-11 02:17:21 +0000
b6d93fa1a1forgot to add new file with last commit.
Frank Mori Hess
2007-02-09 20:54:39 +0000
88ca7a1135Added support for slot forwarding. Added support for SlotFunction template parameter. Added some missing member functions to signal. Fixed signal::num_slots() and empty() to ignore disconnected slots. Made cleanup in connect() correctly check for automatically disconnected slots.
Frank Mori Hess
2007-02-09 20:54:06 +0000
6851a9c38cFixed some problems with ordering of slots within groups. Added group compare parameter to constructor. Filled in some missing typedefs and member functions.
Frank Mori Hess
2007-02-09 16:52:32 +0000
2e75724295Added support for slot groups.
Frank Mori Hess
2007-02-08 20:56:21 +0000
377edeb681Added support for combiners.
Frank Mori Hess
2007-02-08 16:39:56 +0000
72de1f009eDon't block on slot mutexes while cleaning up connection list. Also prevented connection list cleanup in slot invocation from stomping on a connection list in use by another thread.
Frank Mori Hess
2007-02-08 13:40:21 +0000
82dc145f4eA slot can now disconnect it self without deadlock.
Frank Mori Hess
2007-02-07 20:34:14 +0000
3c15e2eaafCleaned up remaining bits from old disconnect callback. Added automatic connection management. Fixed possibility of unintended throws of bad_weak_ptr.
Frank Mori Hess
2007-02-06 16:51:27 +0000
c7313e2110Removed cleanup of connections in disconnect(), moved it to connect(), in anticipation of automatic connection management.
Frank Mori Hess
2007-02-05 16:03:00 +0000
ddca1126cbAdded new files which are the beginnings of a thread-safe implementation of boost.signals
Frank Mori Hess
2007-02-02 20:07:57 +0000
b683dba9beNew repository initialized by cvs2svn.
nobody
2002-05-15 19:48:00 +0000