summaryrefslogtreecommitdiff
path: root/src/provider.c
diff options
context:
space:
mode:
authorJukka Rissanen <jukka.rissanen@linux.intel.com>2012-11-12 14:07:45 +0200
committerPatrik Flykt <patrik.flykt@linux.intel.com>2012-11-23 12:58:52 +0200
commit946b34645410efefabc7caea512025f5f1da478c (patch)
treeea1bf8a782e1757b5b769525d995d24625f7f186 /src/provider.c
parent8730704d87dc27f8b9c0300f733d6ffdea8abf58 (diff)
downloadconnman-946b34645410efefabc7caea512025f5f1da478c.tar.gz
connman-946b34645410efefabc7caea512025f5f1da478c.tar.bz2
connman-946b34645410efefabc7caea512025f5f1da478c.zip
provider: Do not remove the provider as it would remove it from storage
Diffstat (limited to 'src/provider.c')
-rw-r--r--src/provider.c16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/provider.c b/src/provider.c
index 665ef2ed..fe7eb883 100644
--- a/src/provider.c
+++ b/src/provider.c
@@ -110,8 +110,6 @@ void connman_provider_unref_debug(struct connman_provider *provider,
if (__sync_fetch_and_sub(&provider->refcount, 1) != 1)
return;
- provider_remove(provider);
-
provider_destruct(provider);
}
@@ -197,9 +195,7 @@ int __connman_provider_remove(const char *path)
if (g_strcmp0(srv_path, path) == 0) {
DBG("Removing VPN %s", provider->identifier);
- if (provider->driver != NULL &&
- provider->driver->remove)
- provider->driver->remove(provider);
+ provider_remove(provider);
g_hash_table_remove(provider_hash,
provider->identifier);
@@ -565,14 +561,6 @@ static void unregister_provider(gpointer data)
connman_provider_unref(provider);
}
-static void clean_provider(gpointer key, gpointer value, gpointer user_data)
-{
- struct connman_provider *provider = value;
-
- if (provider->driver != NULL && provider->driver->remove)
- provider->driver->remove(provider);
-}
-
static gint compare_priority(gconstpointer a, gconstpointer b)
{
return 0;
@@ -761,8 +749,6 @@ void __connman_provider_cleanup(void)
connman_notifier_unregister(&provider_notifier);
- g_hash_table_foreach(provider_hash, clean_provider, NULL);
-
g_hash_table_destroy(provider_hash);
provider_hash = NULL;