timeserver: Periodically wake up to recheck timeservers
authorPatrik Flykt <patrik.flykt@linux.intel.com>
Tue, 21 May 2013 10:32:14 +0000 (13:32 +0300)
committerPatrik Flykt <patrik.flykt@linux.intel.com>
Fri, 31 May 2013 08:06:34 +0000 (11:06 +0300)
commit3b70a3d5a93fb229c2caacf6b2df43dd9ea5b6bd
treeb74993ade65f8edb971fa923dd532f291ada02a8
parentbac356ff03abd450b471ae19036d5069171007c2
timeserver: Periodically wake up to recheck timeservers

The current situation is that a failed timeserver name resolution
removes the timeserver immediately from the list of used timeservers
and failing to connect to the nameserver IP address removes the
timeserver after a 2 second delay. Currently no mechanism exists to
re-create the list of nameservers once the list has been exhausted or
the more preferred timeservers have been removed from it.

This implementation combats both problems where less used timeservers
further away end up being used despite a more optimal closer one
becoming available as well as the problem of exhausting the
nameserver list. This is done by periodially waking up and checking
the timeserver in use. If the timeserver in use is not the most
preferred one or the list of timeservers is empty, the timeserver
list is recreated and the timeserver polling procedure is restarted.
src/timeserver.c