ERR_STATE *p,tmp;
ERR_STATE *p = NULL,tmp;
void ERR_remove_state(unsigned long pid)	{	ERR_STATE *p,tmp;	if (thread_hash == NULL)		return;	if (pid == 0)		pid=(unsigned long)CRYPTO_thread_id();	tmp.pid=pid;	CRYPTO_w_lock(CRYPTO_LOCK_ERR);	if (thread_hash)		{		p=(ERR_STATE *)lh_delete(thread_hash,&tmp);		if (lh_num_items(thread_hash) == 0)			{			/* make sure we don't leak memory */			lh_free(thread_hash);			thread_hash = NULL;			}		}	CRYPTO_w_unlock(CRYPTO_LOCK_ERR);	if (p != NULL) ERR_STATE_free(p);	}