[mythtv-commits] mythtv commit: r24274 by mdean

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Tue Apr 27 21:10:52 UTC 2010


      Author: mdean
        Date: 2010-04-27 21:10:52 +0000 (Tue, 27 Apr 2010)
New Revision: 24274
   Changeset: http://svn.mythtv.org/trac/changeset/24274

Modified:

   trunk/mythtv/libs/libmythtv/tv_play.cpp
   trunk/mythtv/libs/libmythtv/tv_play.h

Log:

Fix a deadlock in TV::SwitchSource() that occured when using the NEXTSOURCE/PREVSOURCE key bindings to switch sources.

The code in TV::timerEvent() was holding a lock, causing a deadlock when TV::SwitchSource() requested the PlayerContext.  This changes TV::SwitchSource() to work like the related TV::SwitchCards() and TV::ToggleInputs functions by using the PlayerContext that TV::timerEvent() passes through TV::ProcessKeypress() and, finally, to TV::ActivePostQHandleAction(), which calls TV::SwitchSource().

This seems to have been broken in the mythtv-vid branch, but the code was unreachable/untestable due to broken key bindings (which were fixed for #6472).

Refs #6472.  Fixes #8190.  Thanks to jafa for finally getting a backtrace.





More information about the mythtv-commits mailing list