https://gitlab.synchro.net/main/sbbs/-/commit/4a18a063c5f20918ebd09fc8
Modified Files:
exec/tests/qwkjob/pack.js src/sbbs3/exec.cpp ftpsrvr.cpp qwkjob.cpp web/root/qwk.ssjs
Log Message:
qwkjob: spare live jobs' temp dirs; FTP and web packet re-checks
- The temp/qwk/ prune judged a job directory stale by its modification
time alone (1 hour), so a running job whose directory sat idle (a slow
archiver, a stalled network file system) could have it deleted. The age
is now 6 hours, and a directory named for this host is kept while its
process is running: another process is checked with kill(pid, 0)
(OpenProcess() on Windows), this process by the job directories it has
in use.
- FTP: while waiting for a packing slot, a QWK download now re-checks for
data/file/<user#>.qwk after each wait and sends a packet another session
created meanwhile, instead of packing again over the one being sent.
- qwk.ssjs: an "empty" pack result serves a packet another session created
since the first check, as the FTP server does.
- A job's headless sbbs_t has no usable startup or server hosts for a
JavaScript context, which an EX_SH ?script archiver could reach through
external() -> js_execxtrn(). js_execxtrn() and js_execfile() now refuse
in a job ("JavaScript not available in QWK jobs") without calling
js_init().
Co-Authored-By: Claude Opus 5.5 <
noreply@anthropic.com>
---
þ Synchronet þ Vertrauen þ Home of Synchronet þ [vert/cvs/bbs].synchro.net