gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize.
authorWim Taymans <wim.taymans@gmail.com>
Mon, 13 Oct 2008 10:50:17 +0000 (10:50 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Mon, 13 Oct 2008 10:50:17 +0000 (10:50 +0000)
commit85de6536408a1ba35e778cf9c16e8bf53cb53dad
treeec46fe2c729e166d88d796dbf04abf8193a216c7
parent882c997103fd67e4f3fd1618b58270a801523627
gst/gstbus.c: Fix deadlock, g_source_get_id() cannot be called in finalize.

Original commit message from CVS:
* gst/gstbus.c: (gst_bus_source_finalize),
(gst_bus_add_watch_full_unlocked), (gst_bus_add_watch_full),
(gst_bus_enable_sync_message_emission),
(gst_bus_disable_sync_message_emission),
(gst_bus_add_signal_watch_full), (gst_bus_remove_signal_watch):
Fix deadlock, g_source_get_id() cannot be called in finalize.
Keep track of the watch source by keeping a pointer to the source object
instead.
Use the bus lock to protect access to the pointer to the current
watch source.
ChangeLog
gst/gstbus.c