Fix pause deadlock: check CS_CONNECTED not CS_ACTIVE

CS_ACTIVE requires a fully connected client, but clients go through
CS_CONNECTED → CS_PRIMED → CS_ACTIVE. If the server is paused
waiting for CS_ACTIVE, the connection handshake never completes.
Check >= CS_CONNECTED to allow connecting clients to unpause.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
serge_shubin 2026-03-23 06:28:17 +08:00
parent 76538c3216
commit d78f5c7aaf

View file

@ -1029,8 +1029,8 @@ qboolean SVD_ShouldPause( void ) {
} }
for ( i = 0; i < sv_maxclients->integer; i++ ) { for ( i = 0; i < sv_maxclients->integer; i++ ) {
if ( svs.clients[i].state == CS_ACTIVE ) { if ( svs.clients[i].state >= CS_CONNECTED ) {
return qfalse; // someone is watching return qfalse; // someone is connected or connecting
} }
} }