GNOME Bugzilla – Bug 732554
watchdog: sometimes expire even when stopped and causes crash
Last modified: 2014-07-04 12:57:32 UTC
Created attachment 279680 [details] [review] gst-plugins-good.patch Watchdog sometimes expire even when stopped and causes crash. This because of a gst_watchdog_stop is ongoing then a gst_watchdog_src_event is stuck at mutex. As soon as stop is finish then the gst_watchdog_src_event continue. Then in gst_watchdog_feed, a source will be attach to default context (since watchdog->main_context is NULL). When this expire there are no data to gst_watchdog_trigger since references to watchdog have been zero. Solution is to check watchdog->main_context is not NULL before create and attach a source.
commit e050541f11711d2ff8edf4b80213acffbdba7a07 Author: Göran Jönsson <goranjn@axis.com> Date: Mon Jun 23 11:53:11 2014 +0200 watchdog: Only create a new GSource if we have a main context We can still get OOB events while stopping the watchdog element, and while stopping it we destroy the main context. Also let the GSource own a reference to the element for additional safety. https://bugzilla.gnome.org/show_bug.cgi?id=732554