[mythtv-commits] mythtv commit: r14794 - in trunk/mythtv by danielk

mythtv at cvs.mythtv.org mythtv at cvs.mythtv.org
Fri Nov 2 19:54:47 UTC 2007


      Author: danielk
        Date: 2007-11-02 19:54:45 +0000 (Fri, 02 Nov 2007)
New Revision: 14794
   Changeset: http://cvs.mythtv.org/trac/changeset/14794

Modified:

   trunk/mythtv/libs/libmythtv/tv_play.cpp
   trunk/mythtv/libs/libmythtv/tv_play.h
   trunk/mythtv/programs/mythfrontend/networkcontrol.cpp

Log:

Refs #4115. Fixes for Network Control segfaults in trunk.

There are two common causes of segfaults when using the telnet network control API:
 * The NetworkControl class itself is not thread-safe in it QString usage
 * TV Play accepts commands during LiveTV buffer switching.

This fixes the first problem by adding a couple locking instances and using QDeepCopy when passing strings between threads.
And this fixes the second problem by respecting the ignoreKeys variable, it by only executing network commands after the keypressed buffer is empty (this avoids back to back processing which doesn't give the RunTV main loop a chance to get into a consistent state between commands if a key and network command are both available in the same loop iteration.)




More information about the mythtv-commits mailing list