X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/e51726bcb1904bf8422b62798bd9f0cd2efb53ad..35f4d6b50c5e8c79e57dea6e9ad9403b5ab6fdd5:/lib/base/thread.h diff --git a/lib/base/thread.h b/lib/base/thread.h index dad80424..12c5b25c 100644 --- a/lib/base/thread.h +++ b/lib/base/thread.h @@ -29,6 +29,11 @@ public: eThread(); virtual ~eThread(); + /* thread_finished is called from within the thread context as the last function + before the thread is going to die. + It should be used to do final cleanups (unlock locked mutexes ....) */ + virtual void thread_finished() {} + /* runAsync starts the thread. it assumes that the thread is not running, i.e. sync() *must* return 0. @@ -46,7 +51,7 @@ public: /* result: 0 - thread is not alive 1 - thread state unknown */ int sync(); - void sendSignal(int sig); + int sendSignal(int sig); /* join the thread, i.e. busywait until thread has finnished. */ void kill(bool sendcancel=false);