> Hi!
>
> It would be great if someone can describe this piece of code to me (or
> redirect me to a more appropriate mailing list).
>
> in lib/dns/resovler.c
>
> fctx_done(fetchctx_t *fctx, isc_result_t result) {
> dns_resolver_t *res;
> isc_boolean_t no_response;
>
> FCTXTRACE("done");
>
> res = fctx->res;
>
> if (result == ISC_R_SUCCESS) {
> no_response = ISC_TRUE;
> else
> no_response = ISC_FALSE;
> fctx_stopeverything(fctx, no_response);
>
> .....
>
>
>
> Why is no_response set to true if the result is ISC_R_SUCCESS? Shouldn't
> it be the other way round? I would suspect no_response to represent if
> there was an response received or not. If this is correct I would set it
> to true if result is ISC_R_SUCCUSS?


If the result is ISC_R_SUCCESS a response has already been
sent to the client. If it is not ISC_R_SUCCESS the resolution
process is bailing out early and a error needs to be returned
to the client.

> thanks
> klaus
>
>

--
ISC Training! October 16-20, 2006, in the San Francisco Bay Area,
covering topics from DNS to DHCP. Email training@isc.org.
--
Mark Andrews, ISC
1 Seymour St., Dundas Valley, NSW 2117, Australia
PHONE: +61 2 9871 4742 INTERNET: Mark_Andrews@isc.org