summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGES4
-rw-r--r--RELEASE-NOTES4
-rw-r--r--ares.h1
-rw-r--r--ares_cancel.37
-rw-r--r--ares_cancel.c2
5 files changed, 15 insertions, 3 deletions
diff --git a/CHANGES b/CHANGES
index c61e319..888b7ae 100644
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,10 @@
fails to get inited by other means. This fixes a case of when the c-ares
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)
- renamed generated config.h to ares_config.h to avoid any future clashes
with config.h from other projects.
diff --git a/RELEASE-NOTES b/RELEASE-NOTES
index c144d1c..cfd4a95 100644
--- a/RELEASE-NOTES
+++ b/RELEASE-NOTES
@@ -9,6 +9,7 @@ Changed:
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 --enable-curldebug configure option
+ o ARES_ECANCELLED is now sent as reason for ares_cancel()
Fixed:
@@ -20,6 +21,7 @@ Fixed:
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!
diff --git a/ares.h b/ares.h
index 386c0ca..f64e862 100644
--- a/ares.h
+++ b/ares.h
@@ -86,6 +86,7 @@ extern "C" {
#define ARES_ENOMEM 15
#define ARES_EDESTRUCTION 16
#define ARES_EBADSTR 17
+#define ARES_ECANCELLED 21
/* ares_getnameinfo error codes */
#define ARES_EBADFLAGS 18
diff --git a/ares_cancel.3 b/ares_cancel.3
index 875f0f4..fc1e983 100644
--- a/ares_cancel.3
+++ b/ares_cancel.3
@@ -27,7 +27,7 @@ ares_cancel \- Cancel a resolve
The \fBares_cancel\fP function cancels all lookups/requests made on the the
name service channel identified by \fIchannel\fP. \fBares_cancel\fP invokes
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
might have been stored in their arguments.
.SH SEE ALSO
@@ -35,5 +35,10 @@ might have been stored in their arguments.
.BR ares_destroy (3)
.SH NOTES
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
Dirk Manske
diff --git a/ares_cancel.c b/ares_cancel.c
index 982ebc1..63b1514 100644
--- a/ares_cancel.c
+++ b/ares_cancel.c
@@ -36,7 +36,7 @@ void ares_cancel(ares_channel channel)
{
query = list_node->data;
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);
}
#ifndef NDEBUG