ntpd: speed up reaction to poll interval decrease
No binary (build failed)
—
(log yok)
| @@ -1484,7 +1484,20 @@ recv_and_process_peer_pkt(peer_t *p) | |
| if (G.polladj_count < -POLLADJ_LIMIT) { | |
| G.polladj_count = 0; | |
| if (G.poll_exp > MINPOLL) { | |
| + | llist_t *item; |
| + | |
| G.poll_exp--; | |
| + | /* Correct p->next_action_time in each peer |
| + | * which waits for sending, so that they send earlier. |
| + | * Old pp->next_action_time are on the order |
| + | * of t + (1 << old_poll_exp) + small_random, |
| + | * we simply need to subtract ~half of that. |
| + | */ |
| + | for (item = G.ntp_peers; item != NULL; item = item->link) { |
| + | peer_t *pp = (peer_t *) item->data; |
| + | if (pp->p_fd < 0) |
| + | pp->next_action_time -= (1 << G.poll_exp); |
| + | } |
| VERB3 bb_error_msg("polladj: discipline_jitter:%f --poll_exp=%d", | |
| G.discipline_jitter, G.poll_exp); | |
| } | |