• src/sbbs3/main.cpp services.cpp

    From Rob Swindell (on Debian Linux)@VERT to Git commit to main/sbbs/master on Mon Oct 26 00:09:03 2026
    https://gitlab.synchro.net/main/sbbs/-/commit/f8d69be8d5243555b2861e35
    Modified Files:
    src/sbbs3/main.cpp services.cpp
    Log Message:
    qwkjob: give Services and Terminal Server JS contexts a host

    system.qwk_pack() and system.qwk_unpack() throw "QWK packing not
    available in this context" unless a qwkjob host was set. Set one in
    every JavaScript context the Services server creates (js_initcx() is
    the only creation path, static and per-client services alike) and in
    every Terminal Server context, so service scripts, node scripts and
    timed-event scripts can pack and import QWK/REP packets.

    Services logs through its own lputs() (MQTT, error.log). The Terminal
    Server builds two hosts when it starts: one for node contexts (lines go
    through lputs()) and one for the event thread (is_event_thread, lines go through eputs() and events.log). sbbs_t::js_init() picks one by is_event_thread. Event-thread jobs are exempt from the concurrency cap.
    The mail server and background load() contexts get no host and still
    throw instead of crashing.

    Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>

    ---
    ■ Synchronet ■ Vertrauen ■ Home of Synchronet ■ [vert/cvs/bbs].synchro.net