]> git.ipfire.org Git - thirdparty/knot-resolver.git/commitdiff
daemon/worker: additional check for expired tasks
authorGrigorii Demidov <grigorii.demidov@nic.cz>
Fri, 7 Dec 2018 09:02:54 +0000 (10:02 +0100)
committerGrigorii Demidov <grigorii.demidov@nic.cz>
Fri, 7 Dec 2018 10:23:42 +0000 (11:23 +0100)
daemon/worker.c

index caf4b1dcd693bdbaa6e96c9c66f987a4e6d44a43..f02dd1e47ba80f5ff69421cfab2474210eb90018 100644 (file)
@@ -1375,6 +1375,10 @@ static int qr_task_step(struct qr_task *task,
 
        /* Close pending I/O requests */
        subreq_finalize(task, packet_source, packet);
+       if ((kr_now() - worker_task_creation_time(task)) >= KR_RESOLVE_TIME_LIMIT) {
+               return qr_task_finalize(task, KR_STATE_FAIL);
+       }
+
        /* Consume input and produce next query */
        struct request_ctx *ctx = task->ctx;
        assert(ctx);