Subj : src/sbbs3/websrvr.cpp To : Git commit to main/sbbs/master From : Rob Swindell (on Debian Linux) Date : Sat Sep 19 2026 23:53:09 https://gitlab.synchro.net/main/sbbs/-/commit/f9558d66d5a2d9e7df880e7c Modified Files: src/sbbs3/websrvr.cpp Log Message: websrvr: terminate the CGI read loop on a FastCGI socket failure fastcgi_read_wait_timeout() reported its recv(), version and session-ID failures by returning ret, which is still 0 at each of those points. Zero is the function's "nothing ready yet" value, so do_cgi_stuff() skipped its whole body, including the CGI_PROCESS_TERMINATED check, and polled again immediately. A socket at EOF is always readable, so nothing paced the retry: a backend that closed its connection left the session spinning at roughly 1.6 million iterations per second, logging at LOG_ERR on every one, until max_cgi_inactivity expired as much as two minutes later. Return CGI_PROCESS_TERMINATED from those three paths and from the two fastcgi_read_body() failures below them, so the caller tears the session down at once instead of treating a dead socket as a slow one. A php-fpm restart is enough to trigger this, which means it fires during routine package upgrades. #1246 Co-Authored-By: Claude Opus 5 (1M context) --- SBBSecho 3.37-Linux * Origin: Vertrauen - [vert/cvs/bbs].synchro.net (1:103/705) .