Rationalise SERV_MARK use.

This commit is contained in:
Simon Kelley
2021-07-01 23:00:22 +01:00
parent 3ef955c85a
commit cb6d06bb54
3 changed files with 7 additions and 8 deletions

View File

@@ -1642,10 +1642,6 @@ int cache_make_stat(struct txt_record *t)
t->txt = (unsigned char *)buff;
t->len = p - buff;
/* clear our workspace, these bits are assumed zero elsewhere. */
for (serv = daemon->servers; serv; serv = serv->next)
serv->flags &= ~SERV_MARK;
return 1;
}
@@ -1706,10 +1702,6 @@ void dump_cache(time_t now)
my_syslog(LOG_INFO, _("server %s#%d: queries sent %u, retried or failed %u"), daemon->addrbuff, port, queries, failed_queries);
}
/* other code assumes these are left as zeros. */
for (serv = daemon->servers; serv; serv = serv->next)
serv->flags &= ~SERV_MARK;
if (option_bool(OPT_DEBUG) || option_bool(OPT_LOG))
{
struct crec *cache ;

View File

@@ -529,10 +529,14 @@ void mark_servers(int flag)
for (serv = daemon->servers; serv; serv = serv->next)
if (serv->flags & flag)
serv->flags |= SERV_MARK;
else
serv->flags &= ~SERV_MARK;
for (serv = daemon->local_domains; serv; serv = serv->next)
if (serv->flags & flag)
serv->flags |= SERV_MARK;
else
serv->flags &= ~SERV_MARK;
}
void cleanup_servers(void)

View File

@@ -1506,6 +1506,9 @@ void check_servers(int no_loop_check)
if (!no_loop_check)
loop_send_probes();
#endif
/* clear all marks. */
mark_servers(0);
/* interface may be new since startup */
if (!option_bool(OPT_NOWILD))