ntpd: fix the case where two replies received at once and first one causes a step
function old new delta recv_and_process_peer_pkt 2476 2486 +10 Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
This commit is contained in:
parent
a949399d17
commit
afb5d8b2db
@ -2025,6 +2025,15 @@ recv_and_process_peer_pkt(peer_t *p)
|
||||
|
||||
offset = 0;
|
||||
|
||||
/* The below can happen as follows:
|
||||
* = we receive two peer rsponses at once.
|
||||
* = recv_and_process_peer_pkt(PEER1) -> update_local_clock()
|
||||
* -> step_time() and it closes all other fds, sets all ->fd to -1.
|
||||
* = recv_and_process_peer_pkt(PEER2) sees PEER2->fd == -1
|
||||
*/
|
||||
if (p->p_fd < 0)
|
||||
return;
|
||||
|
||||
/* We can recvfrom here and check from.IP, but some multihomed
|
||||
* ntp servers reply from their *other IP*.
|
||||
* TODO: maybe we should check at least what we can: from.port == 123?
|
||||
|
Loading…
x
Reference in New Issue
Block a user