[Opalvoip-svn] SF.net SVN: opalvoip:[34762] opal/trunk
Brought to you by:
csoutheren,
rjongbloed
From: <rjo...@us...> - 2016-04-04 11:15:14
|
Revision: 34762 http://sourceforge.net/p/opalvoip/code/34762 Author: rjongbloed Date: 2016-04-04 11:15:11 +0000 (Mon, 04 Apr 2016) Log Message: ----------- Fixed timing issue in gatekeeper start delay time. Modified Paths: -------------- opal/trunk/include/h323/h323ep.h opal/trunk/src/h323/gkclient.cxx opal/trunk/src/h323/h323ep.cxx Modified: opal/trunk/include/h323/h323ep.h =================================================================== --- opal/trunk/include/h323/h323ep.h 2016-04-03 16:44:51 UTC (rev 34761) +++ opal/trunk/include/h323/h323ep.h 2016-04-04 11:15:11 UTC (rev 34762) @@ -1434,7 +1434,7 @@ PString gkAccessTokenOID; bool m_sendGRQ; bool m_oneSignalAddressInRRQ; - PTime m_lastGatekeeperDiscovery; + PTime m_nextGatekeeperDiscovery; PMutex m_delayGatekeeperMutex; /* Protect against absence of a response to the ctIdentify reqest Modified: opal/trunk/src/h323/gkclient.cxx =================================================================== --- opal/trunk/src/h323/gkclient.cxx 2016-04-03 16:44:51 UTC (rev 34761) +++ opal/trunk/src/h323/gkclient.cxx 2016-04-04 11:15:11 UTC (rev 34762) @@ -273,13 +273,15 @@ m_delayGatekeeperMutex.Wait(); - if (m_lastGatekeeperDiscovery.IsValid()) { - PTimeInterval elapsed = m_lastGatekeeperDiscovery.GetElapsed(); - if (elapsed < m_gatekeeperStartDelay) - delay = m_gatekeeperStartDelay - elapsed; + PTime now; + + if (m_nextGatekeeperDiscovery.IsValid()) { + delay = now - m_nextGatekeeperDiscovery; + if (delay < 0) + delay = 0; } - m_lastGatekeeperDiscovery.SetCurrentTime(); + m_nextGatekeeperDiscovery = now + m_gatekeeperStartDelay; m_delayGatekeeperMutex.Signal(); Modified: opal/trunk/src/h323/h323ep.cxx =================================================================== --- opal/trunk/src/h323/h323ep.cxx 2016-04-03 16:44:51 UTC (rev 34761) +++ opal/trunk/src/h323/h323ep.cxx 2016-04-04 11:15:11 UTC (rev 34762) @@ -99,7 +99,7 @@ , registrationTimeToLive(0, 0, 10) // Minutes , m_sendGRQ(true) , m_oneSignalAddressInRRQ(true) - , m_lastGatekeeperDiscovery(0) + , m_nextGatekeeperDiscovery(0) , callTransferT1(0,10) // Seconds , callTransferT2(0,10) // Seconds , callTransferT3(0,10) // Seconds This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |