Skip to content
Snippets Groups Projects
Rob Swindell (on Debian Linux)'s avatar
Rob Swindell authored
We have checks/loops/timeouts waiting for active clients to disconnect and
child thread threads to terminate whenever shutting down or recycling already,
so this should be safe. This pretty simple change fixes issue #236 (can't
terminate server under heavy load).

Also as part of this commit, introduced the ability to "pause" a server
(prevent it from accepting new connections) with the ctrl/pause semaphore
file or via the MQTT server/pause (and resume) topics. This feature is useful
when debugging server issues where you don't necessarily want to fully
shutdown/terminate the server, but don't want any new connections to be
accepted (the listen backlog will fill up with incoming connections though).
Unlike a server shutdown, a server pause can be "undone" via MQTT (by
publishing a message to the "resume" topic).

The "pause" semaphore file is just an "existence" semaphore file - its
date/time stamp doesn't matter. If the file exists, the server will enter
a paused state (and periodically log messages to that fact) until the semfile
is deleted.

This server pause feature is not the same as the pause button function in
sbbsctrl, which just pauses server log output.
75c5c9e5
History

Synchronet Project

BBS-Related Software Source Repository

Directories within:

  • 3rdp - Third-party libraries
  • ctrl - Synchronet BBS configuration and run-time data files
  • docs - Synchronet BBS documentation (mostly legacy HTML)
  • exec - Synchronet BBS executable files (mostly JavaScript)
  • install - Synchronet BBS installation files
  • node1 - Synchronet BBS Terminal Server "node" configuration files
  • src - Source code (mostly C/C++)
  • text - Synchronet BBS text and menu files
  • web - Synchronet Legacy/Runemaster web UI
  • webv4 - echicken's web interface (v4) for Synchronet
  • xtrn - Synchronet BBS doors (mostly JavaScript)

Related web-sites:
Synchronet BBS Software
Synchronet Wiki
Synchronet Source Repository