diff options
| author | andreykproductengine <akleshchev@productengine.com> | 2015-12-16 18:50:50 +0200 | 
|---|---|---|
| committer | andreykproductengine <akleshchev@productengine.com> | 2015-12-16 18:50:50 +0200 | 
| commit | 6ffe5d7bd3e2fb0aef3debcb08dcef1e4f7d4499 (patch) | |
| tree | c3493b489a298525237f73802600b34b63d2cbc8 | |
| parent | 0e31f5caccf346f9a9657594c07267e45838b911 (diff) | |
MAINT-906 expiration time gets zeroes
| -rwxr-xr-x | indra/newview/llwatchdog.cpp | 11 | 
1 files changed, 8 insertions, 3 deletions
diff --git a/indra/newview/llwatchdog.cpp b/indra/newview/llwatchdog.cpp index 7b5bcf4db0..2782cd9545 100755 --- a/indra/newview/llwatchdog.cpp +++ b/indra/newview/llwatchdog.cpp @@ -124,11 +124,17 @@ void LLWatchdogTimeout::setTimeout(F32 d)  void LLWatchdogTimeout::start(const std::string& state)   { -	// Order of operation is very impmortant here. +    if (mTimeout == 0) +    { +        LL_WARNS() << "Cant' start watchdog entry - no timeout set" << LL_ENDL; +        return; +    } +	// Order of operation is very important here.  	// After LLWatchdogEntry::start() is called  	// LLWatchdogTimeout::isAlive() will be called asynchronously.   	ping(state); -	mTimer.start();  +	mTimer.start(); +    mTimer.setTimerExpirySec(mTimeout); // timer expiration set to 0 by start()  	LLWatchdogEntry::start();  } @@ -235,7 +241,6 @@ void LLWatchdog::run()  				mSuspects.end(),   				std::not1(std::mem_fun(&LLWatchdogEntry::isAlive))  				); -  		if(result != mSuspects.end())  		{  			// error!!!  | 
