chiark / gitweb /
resolved: properly check return value of dns_resource_record_equal()
[elogind.git] / src / resolve / resolved-dns-query.c
index 57f7467667db68aa710be8b2ec5293bbef563108..ae285ef112d5dcfeb31365b0dc0c515eeb7191fa 100644 (file)
@@ -156,7 +156,7 @@ static int dns_query_add_transaction(DnsQuery *q, DnsScope *s, DnsResourceKey *k
         } else
                 question = dns_question_ref(q->question);
 
-        t = dns_scope_find_transaction(s, question);
+        t = dns_scope_find_transaction(s, question, true);
         if (!t) {
                 r = dns_transaction_new(&t, s, question);
                 if (r < 0)
@@ -278,7 +278,12 @@ int dns_query_go(DnsQuery *q) {
         q->answer_ifindex = 0;
         q->answer_rcode = 0;
 
-        r = sd_event_add_time(q->manager->event, &q->timeout_event_source, CLOCK_MONOTONIC, now(CLOCK_MONOTONIC) + QUERY_TIMEOUT_USEC, 0, on_query_timeout, q);
+        r = sd_event_add_time(
+                        q->manager->event,
+                        &q->timeout_event_source,
+                        clock_boottime_or_monotonic(),
+                        now(clock_boottime_or_monotonic()) + QUERY_TIMEOUT_USEC, 0,
+                        on_query_timeout, q);
         if (r < 0)
                 goto fail;