ctx->sess_cache_full++;
ctx->stats.sess_cache_full++;
int SSL_CTX_add_session(ctx,c)SSL_CTX *ctx;SSL_SESSION *c;	{	int ret=0;	SSL_SESSION *s;	/* conn_init(); */	CRYPTO_add(&c->references,1,CRYPTO_LOCK_SSL_SESSION);	CRYPTO_w_lock(CRYPTO_LOCK_SSL_CTX);	s=(SSL_SESSION *)lh_insert(ctx->sessions,(char *)c);		/* Put on the end of the queue unless it is already in the cache */	if (s == NULL)		SSL_SESSION_list_add(ctx,c);	/* If the same session if is being 're-added', Free the old	 * one when the last person stops using it.	 * This will also work if it is alread in the cache.	 * The references will go up and then down :-) */	if (s != NULL)		{		SSL_SESSION_free(s);		ret=0;		}	else		{		ret=1;		if (SSL_CTX_sess_get_cache_size(ctx) > 0)			{			while (SSL_CTX_sess_number(ctx) >				SSL_CTX_sess_get_cache_size(ctx))				{				if (!SSL_CTX_remove_session(ctx,					ctx->session_cache_tail))					break;				else					ctx->sess_cache_full++;				}			}		}	CRYPTO_w_unlock(CRYPTO_LOCK_SSL_CTX);	return(ret);	}