- SILC_LOG_DEBUG(("Deleting server %p", server));
-
- silc_mutex_lock(conn->internal->lock);
- if (silc_idcache_find_by_context(conn->internal->server_cache, server,
- &id_cache)) {
- namec = id_cache->name;
- ret = silc_idcache_del_by_context(conn->internal->server_cache,
- server, NULL);
- silc_free(namec);
- }
- silc_mutex_unlock(conn->internal->lock);
-
- silc_free(server->server_name);
- silc_free(server->server_info);
- if (server->public_key)
- silc_pkcs_public_key_free(server->public_key);
- silc_atomic_uninit32(&server->internal.refcnt);
- silc_rwlock_free(server->internal.lock);
- silc_free(server);
-
- return ret;