X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/2bc51a33ae4089d88a3a8a3e5fb56afafac69d35..01d745546510ceeb0af0e7ac0251584dcb5564c9:/lib/base/ebase.cpp diff --git a/lib/base/ebase.cpp b/lib/base/ebase.cpp index 08c15610..effd7250 100644 --- a/lib/base/ebase.cpp +++ b/lib/base/ebase.cpp @@ -116,6 +116,16 @@ void eTimer::addTimeOffset( int offset ) // mainloop ePtrList eMainloop::existing_loops; +eMainloop::~eMainloop() +{ + existing_loops.remove(this); + pthread_mutex_destroy(&recalcLock); + for (std::map::iterator it(notifiers.begin());it != notifiers.end();++it) + it->second->stop(); + while(m_timer_list.begin() != m_timer_list.end()) + m_timer_list.begin()->stop(); +} + void eMainloop::addSocketNotifier(eSocketNotifier *sn) { int fd = sn->getFD();