void mongoc_client_pool_destroy (mongoc_client_pool_t *pool) { mongoc_client_t *client; ENTRY; BSON_ASSERT (pool); while ((client = (mongoc_client_t *)_mongoc_queue_pop_head(&pool->queue))) { mongoc_client_destroy(client); } mongoc_topology_destroy (pool->topology); mongoc_uri_destroy(pool->uri); mongoc_mutex_destroy(&pool->mutex); mongoc_cond_destroy(&pool->cond); bson_free(pool); mongoc_counter_client_pools_active_dec(); mongoc_counter_client_pools_disposed_inc(); EXIT; }
void mongoc_client_pool_destroy (mongoc_client_pool_t *pool) { mongoc_client_t *client; ENTRY; BSON_ASSERT (pool); while ((client = (mongoc_client_t *)_mongoc_queue_pop_head(&pool->queue))) { mongoc_client_destroy(client); } mongoc_topology_destroy (pool->topology); mongoc_uri_destroy(pool->uri); mongoc_mutex_destroy(&pool->mutex); mongoc_cond_destroy(&pool->cond); #ifdef MONGOC_ENABLE_SSL _mongoc_ssl_opts_cleanup (&pool->ssl_opts); #endif bson_free(pool); mongoc_counter_client_pools_active_dec(); mongoc_counter_client_pools_disposed_inc(); EXIT; }
void mongoc_client_destroy (mongoc_client_t *client) { if (client) { #ifdef MONGOC_ENABLE_SSL bson_free (client->pem_subject); #endif if (client->topology->single_threaded) { mongoc_topology_destroy(client->topology); } mongoc_write_concern_destroy (client->write_concern); mongoc_read_prefs_destroy (client->read_prefs); mongoc_cluster_destroy (&client->cluster); mongoc_uri_destroy (client->uri); bson_free (client); mongoc_counter_clients_active_dec (); mongoc_counter_clients_disposed_inc (); } }