- Timo Teras changed the reason code used in the resolve callback done when

ares_cancel() is used, to be ARES_ECANCELLED instead of ARES_ETIMEOUT to
  better allow the callback to know what's happening.
This commit is contained in:
Daniel Stenberg 2009-08-03 11:51:06 +00:00
parent a53525e930
commit 0606b792f0
5 changed files with 15 additions and 3 deletions

View File

@ -5,6 +5,10 @@
fails to get inited by other means. This fixes a case of when the c-ares fails to get inited by other means. This fixes a case of when the c-ares
init fails when internet access is fone. init fails when internet access is fone.
- Timo Teras changed the reason code used in the resolve callback done when
ares_cancel() is used, to be ARES_ECANCELLED instead of ARES_ETIMEOUT to
better allow the callback to know what's happening.
* 14 Jul 2009 (Guenter Knauf) * 14 Jul 2009 (Guenter Knauf)
- renamed generated config.h to ares_config.h to avoid any future clashes - renamed generated config.h to ares_config.h to avoid any future clashes
with config.h from other projects. with config.h from other projects.

View File

@ -9,6 +9,7 @@ Changed:
o a build-time configured ares_socklen_t is now used instead of socklen_t o a build-time configured ares_socklen_t is now used instead of socklen_t
o new ares_library_init() and ares_library_cleanup() functions o new ares_library_init() and ares_library_cleanup() functions
o new --enable-curldebug configure option o new --enable-curldebug configure option
o ARES_ECANCELLED is now sent as reason for ares_cancel()
Fixed: Fixed:
@ -20,6 +21,7 @@ Fixed:
Thanks go to these friendly people for their efforts and contributions: Thanks go to these friendly people for their efforts and contributions:
Phil Blundell, Japheth Cleaver, Yang Tse, Gregor Jasny, Joshua Kwan Phil Blundell, Japheth Cleaver, Yang Tse, Gregor Jasny, Joshua Kwan,
Timo Teras
Have fun! Have fun!

View File

@ -86,6 +86,7 @@ extern "C" {
#define ARES_ENOMEM 15 #define ARES_ENOMEM 15
#define ARES_EDESTRUCTION 16 #define ARES_EDESTRUCTION 16
#define ARES_EBADSTR 17 #define ARES_EBADSTR 17
#define ARES_ECANCELLED 21
/* ares_getnameinfo error codes */ /* ares_getnameinfo error codes */
#define ARES_EBADFLAGS 18 #define ARES_EBADFLAGS 18

View File

@ -27,7 +27,7 @@ ares_cancel \- Cancel a resolve
The \fBares_cancel\fP function cancels all lookups/requests made on the the The \fBares_cancel\fP function cancels all lookups/requests made on the the
name service channel identified by \fIchannel\fP. \fBares_cancel\fP invokes name service channel identified by \fIchannel\fP. \fBares_cancel\fP invokes
the callbacks for each pending query on the channel, passing a status of the callbacks for each pending query on the channel, passing a status of
.BR ARES_ETIMEOUT . .BR ARES_ECANCELLED .
These calls give the callbacks a chance to clean up any state which These calls give the callbacks a chance to clean up any state which
might have been stored in their arguments. might have been stored in their arguments.
.SH SEE ALSO .SH SEE ALSO
@ -35,5 +35,10 @@ might have been stored in their arguments.
.BR ares_destroy (3) .BR ares_destroy (3)
.SH NOTES .SH NOTES
This function was added in c-ares 1.2.0 This function was added in c-ares 1.2.0
c-ares 1.6.0 and earlier pass a status of
.BR ARES_ETIMEOUT
instead of
.BR ARES_ECANCELLED .
.SH AUTHOR .SH AUTHOR
Dirk Manske Dirk Manske

View File

@ -36,7 +36,7 @@ void ares_cancel(ares_channel channel)
{ {
query = list_node->data; query = list_node->data;
list_node = list_node->next; /* since we're deleting the query */ list_node = list_node->next; /* since we're deleting the query */
query->callback(query->arg, ARES_ETIMEOUT, 0, NULL, 0); query->callback(query->arg, ARES_ECANCELLED, 0, NULL, 0);
ares__free_query(query); ares__free_query(query);
} }
#ifndef NDEBUG #ifndef NDEBUG