mirror of https://github.com/wb2osz/direwolf.git
Check for ntp clock shift when scheduling next beacon. Otherwise direwolf continuously transmits all beacons until it's caught up with the new system clock, which could be days.
This commit is contained in:
parent
8ac14f86f5
commit
ca6c4b06e1
|
@ -614,6 +614,14 @@ static void * beacon_thread (void *arg)
|
||||||
/* i.e. Don't take relative to now in case there was some delay. */
|
/* i.e. Don't take relative to now in case there was some delay. */
|
||||||
|
|
||||||
bp->next += bp->every;
|
bp->next += bp->every;
|
||||||
|
|
||||||
|
/* craigerl: if next beacon is scheduled in the past, then set next beacon relative to now (happens when NTP pushes clock AHEAD) */
|
||||||
|
/* fixme: if NTP sets clock BACK an hour, this thread will sleep for that hour */
|
||||||
|
if ( bp->next < now ) {
|
||||||
|
bp->next = now + bp->every;
|
||||||
|
dw_printf("\nSystem clock appears to have jumped forward. Beacon schedule updated.\n\n");
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
} /* if time to send it */
|
} /* if time to send it */
|
||||||
|
|
Loading…
Reference in New Issue