Commit Graph

  • df183087b5 moving thread_safe_signals to new directory structure Stjepan Rajko 2007-06-12 05:11:57 +0000
  • eaf9155b73 Updated thread_safe_signals FAQ wrt using with Qt. Frank Mori Hess 2007-06-08 17:31:57 +0000
  • 7058019227 Attempt to suppress unused variable warnings on MSVC 7.1 Frank Mori Hess 2007-06-08 13:44:11 +0000
  • c82c37fea7 Fix for some unused parameter warnings, from David Matz <david.matz@spatialview.com> Frank Mori Hess 2007-06-07 20:27:59 +0000
  • 871eb30f0d Fix for compilation error under MSVC 7.1 Frank Mori Hess 2007-06-07 20:23:01 +0000
  • 2d0b5ba0cf Patch 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
  • 436c0aa818 We can't explicitly track signals, except in the normal way with shared_ptr. Frank Mori Hess 2007-03-13 17:38:37 +0000
  • 8d85e04b85 Fixed compilation errors when signals/slot.hpp is included by itself. Frank Mori Hess 2007-03-13 17:22:08 +0000
  • b25c8332e1 Fixed some confusion over ConnectionBody template parameter. Frank Mori Hess 2007-03-09 14:27:22 +0000
  • f441823a89 Declare null_deleter as extern inline. Frank Mori Hess 2007-03-07 16:29:35 +0000
  • 9af73230c1 Removed obsolete header track.hpp Frank Mori Hess 2007-03-07 14:42:14 +0000
  • 4616b2392b Updated documentation. Frank Mori Hess 2007-03-06 21:51:55 +0000
  • c41ae098e5 Added some missing BOOST_ABI_PREFIX/BOOST_ABI_SUFFIX Frank Mori Hess 2007-03-06 18:17:31 +0000
  • 02af416ff3 Added use of BOOST_STATIC_CONSTANT. Frank Mori Hess 2007-03-06 16:59:33 +0000
  • 33ee0681b3 Added shared_connection_block::blocking() query. Frank Mori Hess 2007-03-06 16:58:30 +0000
  • e7382cd7c0 Removed 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
  • e10508c674 Copied from signals/doc. Frank Mori Hess 2007-03-05 19:55:48 +0000
  • 59b4303469 Moved docs from libs/signals/doc. Updated to reflect some of the more recent changes. Frank Mori Hess 2007-03-05 19:54:28 +0000
  • 5c96f547cd Added 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
  • 011fdb87b5 Throw 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
  • 0ac91083af Restored explicit slot-to-slot tracking, since implicit version only detects slot expiration on invocation. Frank Mori Hess 2007-03-05 14:52:46 +0000
  • dd5e39db65 Test explicit slot-to-slot tracking. Frank Mori Hess 2007-03-05 14:51:26 +0000
  • 84dd05468f Made 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
  • 95c9712920 Added const overload of slot::operator()() Frank Mori Hess 2007-03-02 19:34:30 +0000
  • 61a18d5ac0 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. Frank Mori Hess 2007-03-02 16:00:39 +0000
  • b0be180326 Tweaked 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
  • 3acddc8716 Fixed 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
  • 66f76f5839 Restored 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
  • 907cf1e513 Added little benchmark program Frank Mori Hess 2007-02-28 20:49:36 +0000
  • 3d2cd4ca2a Got 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
  • fc5da3c9af Altered tests to account for changes from signals to thread_safe_signals. Frank Mori Hess 2007-02-28 19:44:09 +0000
  • fcb6e2e506 Fixed 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
  • e6dd4d2c44 Added test programs from boost/libs/signals/test Frank Mori Hess 2007-02-28 19:16:04 +0000
  • 9f7d76cdb0 Added missing typename to fix compile under gcc 4.1.2 Frank Mori Hess 2007-02-28 17:08:48 +0000
  • 724e89c855 My 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
  • 3f98854422 Added typedefs to slot class for argN_type, and added "arity" constant. Frank Mori Hess 2007-02-28 17:06:53 +0000
  • 877777b79f Fixed tracking of signals as slots, and added a test for same. Frank Mori Hess 2007-02-28 16:19:41 +0000
  • bef2bfc4fb Added 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
  • a24b8410bf Make tracking of double argument less meaningless by passing reference instead of copy. Frank Mori Hess 2007-02-27 22:24:33 +0000
  • a7d581107b Added 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
  • 54c4fe3f19 Handle reference-wrapped values gracefully for the sake of the 2 parameter version of track(). Frank Mori Hess 2007-02-22 20:47:20 +0000
  • d68126b028 Changed order of parameters in signals::track(). Frank Mori Hess 2007-02-22 20:23:48 +0000
  • 6d1e6bdc0f tracked 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
  • ca88cf698c Forget 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
  • 0153eec102 Added 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
  • e3fbf95743 Made 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
  • 61dfcafcb6 It's silly to make track() support reference-wrapped arguments. Frank Mori Hess 2007-02-21 15:15:23 +0000
  • 57700dba13 Fixed 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
  • f14424fc8d Added implicit conversion to reference type to boost::tracked Frank Mori Hess 2007-02-20 01:19:25 +0000
  • 79107457d5 We 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
  • 8e51578eff Clean-ups made possible by reduced scope of locking in slot iterator. Frank Mori Hess 2007-02-18 22:47:19 +0000
  • f8c19c9fa6 reset lock_iter too when lock is deleted. Frank Mori Hess 2007-02-18 18:16:57 +0000
  • 9accf820fd Drop slot lock right before slot is actually executed. Frank Mori Hess 2007-02-18 17:41:48 +0000
  • 428e31bcae Fix set_combiner, which I broke. Only copy connection list in set_combiner if needed. Frank Mori Hess 2007-02-18 00:13:37 +0000
  • d698187147 Don't need to call lockNextCallable() in constructor at all (thanks Timmo). Frank Mori Hess 2007-02-17 23:01:43 +0000
  • 7143a7f202 Reduced 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
  • 9ae0db471a Make sure lock_pool destructs after lock. Frank Mori Hess 2007-02-17 17:21:52 +0000
  • 0c2497c69e Implemented swap for connections. Frank Mori Hess 2007-02-17 16:03:32 +0000
  • 68df3e9c37 Optimized allocation of scoped_locks in slot_call_iterator. Frank Mori Hess 2007-02-17 15:48:45 +0000
  • 1784478549 Added 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
  • 31e3582021 Got 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
  • 33b678a25d Added constant-time garbage collection. Frank Mori Hess 2007-02-16 22:45:41 +0000
  • 0d03885f12 More performance optimizations. Frank Mori Hess 2007-02-16 21:35:09 +0000
  • 1f6057171c Performance 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
  • 6318771524 A little optimization. Frank Mori Hess 2007-02-16 02:05:12 +0000
  • d5b9d38924 Fixed some lock contention that was preventing signal invocation from running concurrently. Frank Mori Hess 2007-02-15 21:42:44 +0000
  • bfed28f8fb Added backwards compatibility for deprecated boost::signals::trackable Frank Mori Hess 2007-02-15 19:26:36 +0000
  • 3c7c3eb3d7 Fixed possibility of deadlock in connection cleanup. Frank Mori Hess 2007-02-15 04:31:01 +0000
  • 93be68e47f Fixed 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
  • 482bb28b9d Fixed 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
  • f00f13ae54 Fixed some problems when running (modified version of) trackable_test.cpp Frank Mori Hess 2007-02-14 19:23:20 +0000
  • f98dc803ae Added 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
  • a3c518cb0c Added support for connecting to reference_wrapper and signals as slots. Frank Mori Hess 2007-02-13 16:17:28 +0000
  • c80f10da46 Added const version of signal invocation operator. Got rid of noncopyable for scoped_connection. Frank Mori Hess 2007-02-12 22:31:15 +0000
  • 2ad5d75370 Passes random_system_signal.cpp test now. Frank Mori Hess 2007-02-12 21:58:05 +0000
  • 609f01ff9a Fixed 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
  • 6d1e3e854e Fixed some bugs in new slot ordering. Frank Mori Hess 2007-02-12 17:14:39 +0000
  • c1b82c7644 Optimized insertion of grouped slots so it doesn't take O(n) time anymore. Frank Mori Hess 2007-02-12 16:43:12 +0000
  • 6e9a154a75 Fixed some memory problems with scoped_locks destructing after their mutexes. Frank Mori Hess 2007-02-12 02:42:32 +0000
  • 2f64b48a18 Added support for signal::disconnect() by slot, and connection blocking. Passes deletion_test.cpp now. Frank Mori Hess 2007-02-12 02:35:21 +0000
  • a9599a8fce Fixed a bunch of implicit typename warnings seen while compiling dead_slot_test.cpp. Frank Mori Hess 2007-02-12 00:42:01 +0000
  • dfef6e53e3 Use optional instead of shared_ptr in group_key Frank Mori Hess 2007-02-11 15:51:16 +0000
  • bf158b10ef Removed dead code. Frank Mori Hess 2007-02-11 14:20:32 +0000
  • 1d397e32f4 Moved into namespace boost, and provided compatibility for boost::signals namespace. Frank Mori Hess 2007-02-11 14:15:35 +0000
  • d9ab3613b0 Modified EPG::signalN classes to conform to the portable boost signals interface. Frank Mori Hess 2007-02-11 04:53:53 +0000
  • 531e2055bb Got 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
  • 898c60fa5f Simplified and fixed slot group support. Frank Mori Hess 2007-02-11 02:17:21 +0000
  • b6d93fa1a1 forgot to add new file with last commit. Frank Mori Hess 2007-02-09 20:54:39 +0000
  • 88ca7a1135 Added 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
  • 6851a9c38c Fixed 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
  • 2e75724295 Added support for slot groups. Frank Mori Hess 2007-02-08 20:56:21 +0000
  • 377edeb681 Added support for combiners. Frank Mori Hess 2007-02-08 16:39:56 +0000
  • 72de1f009e Don'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
  • 82dc145f4e A slot can now disconnect it self without deadlock. Frank Mori Hess 2007-02-07 20:34:14 +0000
  • 3c15e2eaaf Cleaned 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
  • c7313e2110 Removed 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
  • ddca1126cb Added new files which are the beginnings of a thread-safe implementation of boost.signals Frank Mori Hess 2007-02-02 20:07:57 +0000
  • b683dba9be New repository initialized by cvs2svn. nobody 2002-05-15 19:48:00 +0000