Author: Daniel Kristjansson <danielk at cuymedia.net>
Change Date: 2011-03-22T08:02:24-07:00
Push Date: 2012/04/10 00:41:52 -0700
Repository: mythtv
Branch: devel/mythtv-rec2
New Revision: d8619e6d7e83adb2cffcf39a8b07dcc12f64e43c
Changeset: https://github.com/MythTV/mythtv/commit/d8619e6d7
Log:
Fixes a few problems with AutoExpire QThreads porting in [64d51365568348b91e307cab39b6ef73f8c23be6].
Before the QThread porting the threads were shutdown somewhat promptly by use of a signal. This instead uses the already existing QWaitCondition + a new wakeable Sleep() function for the sleeps in both threads.
Note: The porting got rid of the sleep() cancelling signal and replaced it with a QThread::quit(), which tells QThread::exec() to exit; but we never call that, so this is a no-op. Also, the Sleep() function was supposed to exit early after expire_thread_running was cleared; but this check was replaced with an QThread::isRunning() method invocation, which will always return true even after the expire_thread_run variable is cleared. This old Sleep() early exit wouldn't necessarily have worked anyway since expire_thread_running was not declared volatile so the check could have been optimized away.
Modified:
mythtv/programs/mythbackend/autoexpire.cpp
mythtv/programs/mythbackend/autoexpire.h