silc_mutex_unlock(conn->internal->lock);
silc_client_ref_client(client, conn, client_entry);
- SILC_LOG_DEBUG(("Added"));
+ SILC_LOG_DEBUG(("Added %p", client_entry));
return client_entry;
}
silc_mutex_unlock(conn->internal->lock);
silc_client_ref_channel(client, conn, channel);
- SILC_LOG_DEBUG(("Added"));
+ SILC_LOG_DEBUG(("Added %p", channel));
return channel;
}
silc_mutex_unlock(conn->internal->lock);
silc_client_ref_server(client, conn, server_entry);
- SILC_LOG_DEBUG(("Added"));
+ SILC_LOG_DEBUG(("Added %p", server_entry));
return server_entry;
}
SilcServerEntry server_entry)
{
silc_atomic_add_int8(&server_entry->internal.refcnt, 1);
+ SILC_LOG_DEBUG(("Server %p refcnt %d->%d", server_entry,
+ silc_atomic_get_int8(&server_entry->internal.refcnt) - 1,
+ silc_atomic_get_int8(&server_entry->internal.refcnt)));
}
/* Release reference of server entry */
void silc_client_unref_server(SilcClient client, SilcClientConnection conn,
SilcServerEntry server_entry)
{
- silc_client_del_server(client, conn, server_entry);
+ if (server_entry) {
+ SILC_LOG_DEBUG(("Server %p refcnt %d->%d", server_entry,
+ silc_atomic_get_int8(&server_entry->internal.refcnt),
+ silc_atomic_get_int8(&server_entry->internal.refcnt)
+ - 1));
+ silc_client_del_server(client, conn, server_entry);
+ }
}
/* Free server entry list */