summaryrefslogtreecommitdiff
path: root/src/resolver.c
diff options
context:
space:
mode:
authorSamuel Ortiz <sameo@linux.intel.com>2010-07-23 17:47:24 +0200
committerSamuel Ortiz <sameo@linux.intel.com>2010-07-26 12:21:21 +0200
commita7410b7b879e3875096f33452506fa521e0b3917 (patch)
tree123479487c65c9a30146e82b5cfc6f9df8476e19 /src/resolver.c
parent06cf2e1b5bd7368b6dbcd7708c066a892a1c2114 (diff)
downloadconnman-a7410b7b879e3875096f33452506fa521e0b3917.tar.gz
connman-a7410b7b879e3875096f33452506fa521e0b3917.tar.bz2
connman-a7410b7b879e3875096f33452506fa521e0b3917.zip
Add a resolver flush method
The flush method sends any pending resolving requests. A resolver can queue requests to some pending list when e.g. it knows ConnMan is offline.
Diffstat (limited to 'src/resolver.c')
-rw-r--r--src/resolver.c21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/resolver.c b/src/resolver.c
index 5caf7a85..f3faacdf 100644
--- a/src/resolver.c
+++ b/src/resolver.c
@@ -291,6 +291,27 @@ int connman_resolver_remove_public_server(const char *server)
return connman_resolver_remove(NULL, NULL, server);
}
+/**
+ * connman_resolver_flush:
+ *
+ * Flush pending resolver requests
+ */
+void connman_resolver_flush(void)
+{
+ GSList *list;
+
+ for (list = resolver_list; list; list = list->next) {
+ struct connman_resolver *resolver = list->data;
+
+ if (resolver->flush == NULL)
+ continue;
+
+ resolver->flush();
+ }
+
+ return;
+}
+
static int selftest_append(const char *interface, const char *domain,
const char *server)
{