mirror of
https://github.com/3proxy/3proxy.git
synced 2026-04-10 23:20:12 +08:00
Use quit shutdown for SSL to prevent races
This commit is contained in:
parent
128386723a
commit
ef318bff67
@ -109,13 +109,15 @@ static void addSSL(
|
|||||||
|
|
||||||
void delSSL(void *state, SOCKET s){
|
void delSSL(void *state, SOCKET s){
|
||||||
if(!state || s == INVALID_SOCKET) return;
|
if(!state || s == INVALID_SOCKET) return;
|
||||||
if(STATE->cli.s == s) {
|
if(STATE->cli.s == s && STATE->cli.conn) {
|
||||||
|
SSL_set_quiet_shutdown(STATE->cli.conn, 1);
|
||||||
SSL_shutdown(STATE->cli.conn);
|
SSL_shutdown(STATE->cli.conn);
|
||||||
ssl_conn_free(STATE->cli.conn);
|
ssl_conn_free(STATE->cli.conn);
|
||||||
STATE->cli.conn = NULL;
|
STATE->cli.conn = NULL;
|
||||||
STATE->cli.s = INVALID_SOCKET;
|
STATE->cli.s = INVALID_SOCKET;
|
||||||
}
|
}
|
||||||
else if(STATE->srv.s == s) {
|
else if(STATE->srv.s == s && STATE->srv.conn) {
|
||||||
|
SSL_set_quiet_shutdown(STATE->srv.conn, 1);
|
||||||
SSL_shutdown(STATE->srv.conn);
|
SSL_shutdown(STATE->srv.conn);
|
||||||
ssl_conn_free(STATE->srv.conn);
|
ssl_conn_free(STATE->srv.conn);
|
||||||
STATE->srv.conn = NULL;
|
STATE->srv.conn = NULL;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user