*/
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
+ ns_stats_decrement(client->sctx->nsstats,
+ ns_statscounter_recursclients);
}
- ns_stats_decrement(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
free_devent(client, &event, &devent);
isc_nmhandle_detach(&client->prefetchhandle);
}
&client->recursionquota);
switch (result) {
case ISC_R_SUCCESS:
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
break;
case ISC_R_SOFTQUOTA:
isc_quota_detach(&client->recursionquota);
}
}
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
tmprdataset = ns_client_newrdataset(client);
if (tmprdataset == NULL) {
return;
&client->recursionquota);
switch (result) {
case ISC_R_SUCCESS:
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
break;
case ISC_R_SOFTQUOTA:
isc_quota_detach(&client->recursionquota);
}
}
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
tmprdataset = ns_client_newrdataset(client);
if (tmprdataset == NULL) {
return;
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
+ ns_stats_decrement(client->sctx->nsstats,
+ ns_statscounter_recursclients);
}
- ns_stats_decrement(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
LOCK(&client->manager->reclock);
if (ISC_LINK_LINKED(client, rlink)) {
ISC_LIST_UNLINK(client->manager->recursing, client, rlink);
if (client->recursionquota == NULL) {
result = isc_quota_attach(&client->sctx->recursionquota,
&client->recursionquota);
+ if (result == ISC_R_SUCCESS || result == ISC_R_SOFTQUOTA) {
+ ns_stats_increment(client->sctx->nsstats,
+ ns_statscounter_recursclients);
+ }
+
if (result == ISC_R_SOFTQUOTA) {
isc_stdtime_t now;
isc_stdtime_get(&now);
return (result);
}
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
/*
* Invoke the resolver.
*/
if (client->recursionquota != NULL) {
isc_quota_detach(&client->recursionquota);
+ ns_stats_decrement(client->sctx->nsstats,
+ ns_statscounter_recursclients);
}
- ns_stats_decrement(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
LOCK(&client->manager->reclock);
if (ISC_LINK_LINKED(client, rlink)) {
ISC_LIST_UNLINK(client->manager->recursing, client, rlink);
goto cleanup;
}
- ns_stats_increment(client->sctx->nsstats,
- ns_statscounter_recursclients);
-
saved_qctx = isc_mem_get(client->mctx, sizeof(*saved_qctx));
qctx_save(qctx, saved_qctx);
result = runasync(saved_qctx, client->mctx, arg, client->task,