Properly mark server connections as FREE when they are deinitialized

This commit is contained in:
2025-12-15 22:22:43 +01:00
parent c681590fa2
commit f3345ba670
2 changed files with 6 additions and 2 deletions
+3
View File
@@ -4622,6 +4622,7 @@ static void chttp_server_conn_free(CHTTP_ServerConn *conn)
{ {
byte_queue_free(&conn->output); byte_queue_free(&conn->output);
byte_queue_free(&conn->input); byte_queue_free(&conn->input);
conn->state = CHTTP_SERVER_CONN_FREE;
} }
int chttp_server_init(CHTTP_Server *server) int chttp_server_init(CHTTP_Server *server)
@@ -4840,8 +4841,10 @@ void chttp_server_process_events(CHTTP_Server *server,
if (events[i].type == SOCKET_EVENT_DISCONNECT) { if (events[i].type == SOCKET_EVENT_DISCONNECT) {
if (conn) {
chttp_server_conn_free(conn); // TODO: what if this was in the ready queue? chttp_server_conn_free(conn); // TODO: what if this was in the ready queue?
server->num_conns--; server->num_conns--;
}
} else if (events[i].type == SOCKET_EVENT_CREATION_TIMEOUT) { } else if (events[i].type == SOCKET_EVENT_CREATION_TIMEOUT) {
+1
View File
@@ -14,6 +14,7 @@ static void chttp_server_conn_free(CHTTP_ServerConn *conn)
{ {
byte_queue_free(&conn->output); byte_queue_free(&conn->output);
byte_queue_free(&conn->input); byte_queue_free(&conn->input);
conn->state = CHTTP_SERVER_CONN_FREE;
} }
int chttp_server_init(CHTTP_Server *server) int chttp_server_init(CHTTP_Server *server)