David Zeuthen c4081f9abd GDBusConnection: Avoid callbacks on finalized connection
Turns out that GDBusWorker will issue callbacks (in its own thread)
even after g_dbus_worker_stop() has been called. This would rarely
happen (and unreffing a connection is even rarer) so only saw this bug
occasionally when running the gdbus-connection test case in a loop.

Fix up this issue by maintaining a set of GDBusConnection objects that
are currently "alive" and do nothing in the callbacks if the passed
user_data pointer is not in this set.

Also attempted to fix up a race condition with
_g_object_wait_for_single_ref_do() and its use of GObject toggle
references - for now, just resort to busy waiting, thereby
sidestepping the toggle reference mess altogether.

Signed-off-by: David Zeuthen <davidz@redhat.com>
2010-09-24 14:48:33 -04:00
..
2010-06-10 13:35:25 -04:00
2010-08-13 17:23:44 -04:00
2010-09-02 22:36:47 +03:00
2010-07-07 19:53:22 -04:00
2010-07-12 15:33:05 -04:00
2009-03-31 19:39:16 -04:00
2010-07-07 19:53:22 -04:00
2010-07-12 18:30:14 -04:00
2010-08-03 10:41:21 -04:00
2010-07-12 18:30:14 -04:00
2009-08-19 11:02:05 +02:00
2010-07-05 00:56:12 -04:00
2010-07-07 19:53:22 -04:00
2010-03-26 09:30:25 -04:00
2010-07-12 18:30:14 -04:00
2010-07-12 18:30:14 -04:00
2010-07-12 18:30:14 -04:00
2010-07-20 10:49:30 -04:00
2010-08-30 10:14:39 -04:00
2010-06-22 12:14:31 -04:00
2010-07-07 19:53:22 -04:00
2010-07-07 19:53:22 -04:00
2010-07-07 19:53:22 -04:00
2010-07-07 19:53:22 -04:00
2009-11-17 20:27:38 -06:00
2010-07-12 18:30:14 -04:00
2010-07-07 19:53:22 -04:00
2009-05-13 14:42:46 +02:00
2010-07-07 19:53:22 -04:00
2010-07-10 17:21:32 -04:00
2010-07-07 19:53:22 -04:00
2010-01-12 16:34:18 +01:00
2010-09-17 13:42:05 -04:00
2010-09-03 19:03:34 -04:00
2010-03-26 11:05:02 -04:00
2009-05-13 14:42:38 +02:00
2010-07-07 19:53:22 -04:00
2010-07-10 18:04:22 -04:00
2010-07-07 19:53:22 -04:00
2010-07-10 17:21:32 -04:00
2009-11-23 16:22:52 +01:00
2010-06-04 19:03:38 +02:00
2010-08-21 15:34:40 -04:00
2010-08-19 16:32:37 -04:00
2010-08-19 16:32:37 -04:00
2010-08-30 10:21:43 -04:00
2010-07-07 19:53:22 -04:00
2010-07-07 19:53:22 -04:00
2010-04-16 23:23:40 -04:00
2010-07-12 18:30:14 -04:00
2010-07-10 17:21:32 -04:00
2010-07-07 19:53:22 -04:00
2010-07-10 17:21:32 -04:00
2010-07-07 19:53:22 -04:00
2009-07-05 22:35:55 -04:00
2010-07-07 19:53:22 -04:00
2010-07-12 18:30:14 -04:00
2010-07-07 19:53:22 -04:00