https://gitlab.synchro.net/main/sbbs/-/commit/9f32ca5516fcc302ee397167
Modified Files:
exec/ircd.js exec/load/ircd/core.js exec/tests/ircd/shutdown.js
Log Message:
ircd: close every socket when the script exits
An exit that does not go through DIE or RESTART (a script error, or
termination by the host) left every client, link and listening socket
open. Under "jsexec -l" the script is re-run in the same process, so the previous run's listener on the default port stayed bound alongside the new
one and went on receiving connections that nothing accepted: the server
linked out to its hub but could not be reached.
Register Close_All_Sockets() as an exit handler. It is registered before
the shutdown notification and exit handlers run last-in first-out, so
peers are sent the QUITs before the sockets close. The P-line listeners
are now kept in PLine_Sockets so that they can be closed too.
Co-Authored-By: Claude Fable 5.2 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net