X-Git-Url: https://git.cweiske.de/enigma2.git/blobdiff_plain/3392a6ecccfe92d342eebe58736d9e33f8332943..eb47577c32b49a28eb7986b0fd86ed0d76207150:/lib/base/ebase.h diff --git a/lib/base/ebase.h b/lib/base/ebase.h index 7fd5af02..d4709418 100644 --- a/lib/base/ebase.h +++ b/lib/base/ebase.h @@ -22,6 +22,11 @@ static inline bool operator<( const timeval &t1, const timeval &t2 ) return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_usec < t2.tv_usec); } +static inline bool operator<=( const timeval &t1, const timeval &t2 ) +{ + return t1.tv_sec < t2.tv_sec || (t1.tv_sec == t2.tv_sec && t1.tv_usec <= t2.tv_usec); +} + static inline timeval &operator+=( timeval &t1, const timeval &t2 ) { t1.tv_sec += t2.tv_sec; @@ -175,10 +180,11 @@ class eMainloop int loop_level; void processOneEvent(); int retval; - int timer_offset; pthread_mutex_t recalcLock; + + int m_now_is_invalid; public: - void addTimeOffset(int offset); + static void addTimeOffset(int offset); void addSocketNotifier(eSocketNotifier *sn); void removeSocketNotifier(eSocketNotifier *sn); void addTimer(eTimer* e); @@ -186,8 +192,9 @@ public: static ePtrList existing_loops; eMainloop() - :app_quit_now(0),loop_level(0),retval(0),timer_offset(0) + :app_quit_now(0),loop_level(0),retval(0) { + m_now_is_invalid = 0; existing_loops.push_back(this); pthread_mutex_init(&recalcLock, 0); }