diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/lltimer.cpp | 6 | ||||
| -rw-r--r-- | indra/llcommon/lltimer.h | 1 | 
2 files changed, 7 insertions, 0 deletions
| diff --git a/indra/llcommon/lltimer.cpp b/indra/llcommon/lltimer.cpp index ef3e8dbc94..63634117b5 100644 --- a/indra/llcommon/lltimer.cpp +++ b/indra/llcommon/lltimer.cpp @@ -565,19 +565,23 @@ LLEventTimer::LLEventTimer(F32 period)  : mEventTimer()  {  	mPeriod = period; +	mBusy = false;  }  LLEventTimer::LLEventTimer(const LLDate& time)  : mEventTimer()  {  	mPeriod = (F32)(time.secondsSinceEpoch() - LLDate::now().secondsSinceEpoch()); +	mBusy = false;  }  LLEventTimer::~LLEventTimer()  { +	llassert(!mBusy); // this LLEventTimer was destroyed from its own tick() function - bad.  } +//static  void LLEventTimer::updateClass()   {  	std::list<LLEventTimer*> completed_timers; @@ -587,10 +591,12 @@ void LLEventTimer::updateClass()  		F32 et = timer.mEventTimer.getElapsedTimeF32();  		if (timer.mEventTimer.getStarted() && et > timer.mPeriod) {  			timer.mEventTimer.reset(); +			timer.mBusy = true;  			if ( timer.tick() )  			{  				completed_timers.push_back( &timer );  			} +			timer.mBusy = false;  		}  	} diff --git a/indra/llcommon/lltimer.h b/indra/llcommon/lltimer.h index d009c0f5f7..4d995d5bba 100644 --- a/indra/llcommon/lltimer.h +++ b/indra/llcommon/lltimer.h @@ -188,6 +188,7 @@ public:  protected:  	LLTimer mEventTimer;  	F32 mPeriod; +	bool mBusy;  };  U64 LL_COMMON_API totalTime();					// Returns current system time in microseconds | 
