]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
lib/resolve: count early finished requests as done
authorMarek Vavruša <marek.vavrusa@nic.cz>
Mon, 3 Aug 2015 12:33:00 +0000 (14:33 +0200)
committerMarek Vavruša <marek.vavrusa@nic.cz>
Mon, 3 Aug 2015 12:33:00 +0000 (14:33 +0200)
this fixes stats for canceled/blocked or forwarded queries without
started name resolution

lib/resolve.c

index 54cc6d6702a57af7f767f4bd6f142ea7951610a6..2a6cee3ecad1a99ce8dd7cc99c3d453079158ce3 100644 (file)
@@ -369,8 +369,11 @@ int kr_resolve_query(struct kr_request *request, const knot_dname_t *qname, uint
        knot_wire_set_ra(answer->wire);
        knot_wire_set_rcode(answer->wire, KNOT_RCODE_NOERROR);
 
-       /* Expect answer */
+       /* Expect answer, pop if satisfied immediately */
        ITERATE_LAYERS(request, begin, request);
+       if (request->state == KNOT_STATE_DONE) {
+               kr_rplan_pop(rplan, qry);
+       }
        return request->state;
 }