/*
- * $Id: dns.cc,v 1.26 1996/12/04 16:28:34 wessels Exp $
+ * $Id: dns.cc,v 1.27 1996/12/04 17:50:34 wessels Exp $
*
* DEBUG: section 34 Dnsserver interface
* AUTHOR: Harvest Derived
dnsserver_t *dns = NULL;
for (k = 0; k < NDnsServersAlloc; k++) {
dns = *(dns_child_table + k);
- if (!(dns->flags & DNS_FLAG_BUSY))
- return dns;
+ if (BIT_TEST(dns->flags, DNS_FLAG_BUSY))
+ continue;
+ if (!BIT_TEST(dns->flags, DNS_FLAG_ALIVE))
+ continue;
+ return dns;
}
return NULL;
}
if ((dnssocket = dnsOpenServer(prg)) < 0) {
debug(34, 1, "dnsOpenServers: WARNING: Failed to start 'dnsserver' #%d.\n", k+1);
dns_child_table[k]->flags &= ~DNS_FLAG_ALIVE;
+ dns_child_table[k]->id = k + 1;
+ dns_child_table[k]->inpipe = -1;
+ dns_child_table[k]->outpipe = -1;
} else {
debug(34, 4, "dnsOpenServers: FD %d connected to %s #%d.\n",
dnssocket, prg, k + 1);