void __connman_detect_cleanup(void) { GSList *list; DBG(""); connman_rtnl_unregister(&detect_rtnl); for (list = device_list; list; list = list->next) { struct connman_device *device = list->data; connman_device_unregister(device); connman_device_unref(device); } g_slist_free(device_list); device_list = NULL; }
void __connman_connection_cleanup(void) { GHashTableIter iter; gpointer value, key; DBG(""); connman_rtnl_unregister(&connection_rtnl); g_hash_table_iter_init(&iter, gateway_hash); while (g_hash_table_iter_next(&iter, &key, &value)) { struct gateway_data *data = value; disable_gateway(data, CONNMAN_IPCONFIG_TYPE_ALL); } g_hash_table_destroy(gateway_hash); gateway_hash = NULL; }