MythTV
master
|
Thread used to perform queued HouseKeeper tasks. More...
#include <libmythbase/housekeeper.h>
Public Member Functions | |
HouseKeepingThread (HouseKeeper *p) | |
~HouseKeepingThread () override=default | |
void | run (void) override |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead. More... | |
void | Discard (void) |
bool | isIdle (void) const |
void | Wake (void) |
void | Terminate (void) |
Public Member Functions inherited from MThread | |
MThread (const QString &objectName) | |
Standard constructor. More... | |
MThread (const QString &objectName, QRunnable *runnable) | |
Use this constructor if you want the default run() method to run the QRunnable's run() method instead of entering the Qt event loop. More... | |
virtual | ~MThread () |
MThread (const MThread &)=delete | |
MThread & | operator= (const MThread &)=delete |
void | RunProlog (void) |
Sets up a thread, call this if you reimplement run(). More... | |
void | RunEpilog (void) |
Cleans up a thread's resources, call this if you reimplement run(). More... | |
QThread * | qthread (void) |
Returns the thread, this will always return the same pointer no matter how often you restart the thread. More... | |
void | setObjectName (const QString &name) |
QString | objectName (void) const |
void | setPriority (QThread::Priority priority) |
QThread::Priority | priority (void) const |
bool | isFinished (void) const |
bool | isRunning (void) const |
void | setStackSize (uint stackSize) |
uint | stackSize (void) const |
void | exit (int retcode=0) |
Use this to exit from the thread if you are using a Qt event loop. More... | |
void | start (QThread::Priority p=QThread::InheritPriority) |
Tell MThread to start running the thread in the near future. More... | |
void | terminate (void) |
Kill a thread unsafely. More... | |
void | quit (void) |
calls exit(0) More... | |
bool | wait (std::chrono::milliseconds time=std::chrono::milliseconds::max()) |
Wait for the MThread to exit, with a maximum timeout. More... | |
Private Attributes | |
bool | m_idle { true } |
bool | m_keepRunning { true } |
HouseKeeper * | m_parent { nullptr } |
QMutex | m_waitMutex |
QWaitCondition | m_waitCondition |
Additional Inherited Members | |
Static Public Member Functions inherited from MThread | |
static void | ThreadSetup (const QString &name) |
This is to be called on startup in those few threads that haven't been ported to MThread. More... | |
static void | ThreadCleanup (void) |
This is to be called on exit in those few threads that haven't been ported to MThread. More... | |
static void | Cleanup (void) |
This will print out all the running threads, call exit(1) on each and then wait up to 5 seconds total for all the threads to exit. More... | |
static void | GetAllThreadNames (QStringList &list) |
static void | GetAllRunningThreadNames (QStringList &list) |
Protected Member Functions inherited from MThread | |
int | exec (void) |
Enters the qt event loop. call exit or quit to exit thread. More... | |
Static Protected Member Functions inherited from MThread | |
static void | setTerminationEnabled (bool enabled=true) |
static void | usleep (std::chrono::microseconds time) |
template<typename R , typename P > | |
static std::enable_if_t< std::chrono::treat_as_floating_point< R >::value, void > | usleep (std::chrono::duration< R, P > time) |
Protected Attributes inherited from MThread | |
MThreadInternal * | m_thread {nullptr} |
QRunnable * | m_runnable {nullptr} |
bool | m_prologExecuted {true} |
bool | m_epilogExecuted {true} |
Thread used to perform queued HouseKeeper tasks.
This class is a long-running thread that pulls tasks out of the HouseKeeper queue and runs them sequentially. It performs one last check of the task to make sure something else in the same scope has not pre-empted it, before running the task.
Definition at line 128 of file housekeeper.h.
|
inlineexplicit |
Definition at line 131 of file housekeeper.h.
|
overridedefault |
|
overridevirtual |
Runs the Qt event loop unless we have a QRunnable, in which case we run the runnable run instead.
Reimplemented from MThread.
Definition at line 518 of file housekeeper.cpp.
|
inline |
Definition at line 135 of file housekeeper.h.
|
inline |
Definition at line 136 of file housekeeper.h.
|
inline |
Definition at line 137 of file housekeeper.h.
void HouseKeepingThread::Terminate | ( | void | ) |
Definition at line 142 of file housekeeper.h.
Definition at line 143 of file housekeeper.h.
|
private |
Definition at line 144 of file housekeeper.h.
Referenced by run().
|
private |
Definition at line 145 of file housekeeper.h.
Referenced by run().
|
private |
Definition at line 146 of file housekeeper.h.