It was being overwritten by options from struct kr_context;
now the flags are combined (by set union).
For example, the NO_CACHE flag is important for the prefetch module and
for trust anchor updates.
}
task->baton = baton;
task->on_complete = on_complete;
- task->req.options |= options;
/* Start task */
int ret = qr_task_start(task, query);
+
+ /* Set options late, as qr_task_start() -> kr_resolve_begin() rewrite it. */
+ task->req.options |= options;
+
if (ret != 0) {
qr_task_unref(task);
return ret;
/**
* Schedule query for resolution.
+ *
* @return 0 or an error code
+ *
+ * @note the options passed are |-combined with struct kr_context::options
+ * @todo maybe better semantics for this?
*/
int worker_resolve(struct worker_ctx *worker, knot_pkt_t *query, unsigned options,
worker_cb_t on_complete, void *baton);