← Commit list

a1e9bc687

Denys Vlasenko
Denys Vlasenko
2017-10-28
SUCCESS Duration: 145s

Subject

ntpd: perform DNS resolution out of send/receive loop - closes 10466

Binary

No binary (build failed)

Architecture & Compiler Flags

Architecture: x86_64-linux-gnu Compiler: gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0

—

Build Log

(log yok)

Commit Diff GitHub →

networking/ntpd.c+10 -4
@@ -866,10 +866,8 @@ do_sendto(int fd,
static void
send_query_to_peer(peer_t *p)
{
- if (!p->p_lsa) {
- if (!resolve_peer_hostname(p))
- return;
- }
+ if (!p->p_lsa)
+ return;
/* Why do we need to bind()?
* See what happens when we don't bind:
@@ -2360,6 +2358,14 @@ int ntpd_main(int argc UNUSED_PARAM, char **argv)
int nfds, timeout;
double nextaction;
+ /* Resolve peer names to IPs, if not resolved yet */
+ for (item = G.ntp_peers; item != NULL; item = item->link) {
+ peer_t *p = (peer_t *) item->data;
+
+ if (p->next_action_time <= G.cur_time && !p->p_lsa)
+ resolve_peer_hostname(p);
+ }
+
/* Nothing between here and poll() blocks for any significant time */
nextaction = G.cur_time + 3600;