* PERFORMANCE OF THIS SOFTWARE.
*/
-/* $Id: client.c,v 1.283 2011/11/07 23:03:09 each Exp $ */
+/* $Id: client.c,v 1.284 2011/11/09 22:05:09 each Exp $ */
#include <config.h>
REQUIRE(client->state == NS_CLIENTSTATE_WORKING);
LOCK(&client->manager->reclock);
- ISC_LIST_APPEND(client->manager->recursing, client, rlink);
client->state = NS_CLIENTSTATE_RECURSING;
+ ISC_LIST_APPEND(client->manager->recursing, client, rlink);
UNLOCK(&client->manager->reclock);
}
* that has been done, lest the manager decide to reactivate
* the dying client inbetween.
*/
+ client->state = NS_CLIENTSTATE_INACTIVE;
if (!ns_g_clienttest)
ISC_QUEUE_PUSH(manager->inactive, client, ilink);
- client->state = NS_CLIENTSTATE_INACTIVE;
INSIST(client->recursionquota == NULL);
if (client->state == client->newstate) {
LOCK(&manager->reclock);
client = ISC_LIST_HEAD(manager->recursing);
while (client != NULL) {
+ INSIST(client->state == NS_CLIENTSTATE_RECURSING);
+
ns_client_name(client, peerbuf, sizeof(peerbuf));
if (client->view != NULL &&
strcmp(client->view->name, "_bind") != 0 &&
}
LOCK(&client->query.fetchlock);
+ INSIST(client->query.qname != NULL);
dns_name_format(client->query.qname, namebuf, sizeof(namebuf));
if (client->query.qname != client->query.origqname &&
client->query.origqname != NULL) {
"requesttime %d\n", peerbuf, sep, name,
client->message->id, namebuf, typebuf, classbuf,
origfor, original, client->requesttime);
- client = ISC_LIST_NEXT(client, link);
+ client = ISC_LIST_NEXT(client, rlink);
}
UNLOCK(&manager->reclock);
}