not return immediately since that leaves a locked lock.
static AEP_RV aep_close_connection(AEP_CONNECTION_HNDL hConnection)
{
int count;
static AEP_RV aep_close_connection(AEP_CONNECTION_HNDL hConnection)
{
int count;
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
{
if (aep_app_conn_table[count].conn_hndl == hConnection)
{
{
if (aep_app_conn_table[count].conn_hndl == hConnection)
{
+ rv = p_AEP_CloseConnection(aep_app_conn_table[count].conn_hndl);
+ if (rv != AEP_R_OK)
+ goto end;
aep_app_conn_table[count].conn_state = NotConnected;
aep_app_conn_table[count].conn_state = NotConnected;
- close(aep_app_conn_table[count].conn_hndl);
+ aep_app_conn_table[count].conn_hndl = 0;
CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
}
static AEP_RV aep_close_all_connections(int use_engine_lock, int *in_use)
{
int count;
}
static AEP_RV aep_close_all_connections(int use_engine_lock, int *in_use)
{
int count;
*in_use = 0;
if (use_engine_lock) CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
*in_use = 0;
if (use_engine_lock) CRYPTO_w_lock(CRYPTO_LOCK_ENGINE);
case Connected:
rv = p_AEP_CloseConnection(aep_app_conn_table[count].conn_hndl);
if (rv != AEP_R_OK)
case Connected:
rv = p_AEP_CloseConnection(aep_app_conn_table[count].conn_hndl);
if (rv != AEP_R_OK)
aep_app_conn_table[count].conn_state = NotConnected;
aep_app_conn_table[count].conn_hndl = 0;
break;
aep_app_conn_table[count].conn_state = NotConnected;
aep_app_conn_table[count].conn_hndl = 0;
break;
if (use_engine_lock) CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
if (use_engine_lock) CRYPTO_w_unlock(CRYPTO_LOCK_ENGINE);
}
/*BigNum call back functions, used to convert OpenSSL bignums into AEP bignums.
}
/*BigNum call back functions, used to convert OpenSSL bignums into AEP bignums.