dns: Make query sets hold on to queries for their lifetime.
authorJoshua Colp <jcolp@digium.com>
Wed, 22 Apr 2015 16:28:09 +0000 (13:28 -0300)
committerJoshua Colp <jcolp@digium.com>
Wed, 22 Apr 2015 16:28:09 +0000 (13:28 -0300)
commit7216e3c60875442df3467acd3561d4a0e2680673
treee8cf61295cf7f0fff1aa8b93c52cf6fe304f645c
parent46950d6901ec69436483360796aae5e48e1094df
dns: Make query sets hold on to queries for their lifetime.

The query set documentation states that upon completion queries can be
retrieved for the lifetime of the query set. This is a reasonable
expectation but does not currently occur. This was originally done
to resolve a circular reference between queries and query sets, but
in practice the query can be kept.

This change makes it so a query does not have a reference to the
query set until it begins resolving. It also makes it so that the
reference is given up upon the query being completed. This allows
the queries to remain for the lifetime of the query set. As the
query set on the query is only useful to the query set functionality
and only for the lifetime that the query is resolving this is safe
to do.

ASTERISK-24994 #close
Reported by: Joshua Colp

Change-Id: I54e09c0cb45475896654e7835394524e816d1aa0
main/dns_query_set.c
tests/test_dns_query_set.c