in ports/Clock/src/aia_clock_config.c [86:103]
void AiaClock_SetTimeSinceNTPEpoch( AiaTimepointSeconds_t secondsSinceNTPEpoch )
{
time_t secondsSinceUtcEpoch =
secondsSinceNTPEpoch -
( AIA_CLOCK_YEARS_BEWEEN_NTC_AND_UTC_EPOCH * AIA_CLOCK_DAYS_PER_YEAR +
AIA_CLOCK_NUM_EXTRA_DAYS_BETWEEN_NTC_AND_UTC_EPOCH ) *
AIA_CLOCK_SECONDS_PER_DAY;
AiaLogInfo( "UTC time = %s", asctime( gmtime( &secondsSinceUtcEpoch ) ) );
while( !Atomic_CompareAndSwap_u32( &g_spinLock, 1, 0 ) )
{
/* spin lock, inefficient */
}
g_serverSynchronized = true;
g_lastSynchronization = AiaClock( GetTimeMs )() / AIA_MS_PER_SECOND;
g_lastRetrievedTimeSinceNTPEpoch = secondsSinceNTPEpoch;
AiaAtomicBool_Clear( &g_spinLock );
}