Expand description
Task 9 — daemon binary lifecycle: pidfile locking, signal handling, service unit generators, log rotation, and auto-spawn primitives.
The module is built up incrementally across Task 9 units. Only the units that have landed so far are present; later units (U3–U10) add submodules as they are implemented. Task 9 lifecycle primitives.
This module is the landing zone for all sqryd binary lifecycle concerns:
- [
notify] — thinsd_notifywrapper with platform-appropriate fallbacks. On Linux the realsd_notifycrate is called; on macOS and Windows the functions are no-ops so that callers in the shared startup path never need#[cfg(target_os = "linux")]guards at the call site. - [
log_rotate] —RollingSizeAppender+install_tracing(Task 9 U5). Rotates the active log file when it exceedslog_max_size_mb, keeping at mostlog_keep_rotationscopies. WhenNOTIFY_SOCKETis present (systemd supervision) the rolling appender is skipped and output goes to stderr instead (§G.1 m4 fix).
Modules added by later Task 9 units (U3–U10) will be declared here as they
are implemented. This avoids merge-conflict churn: each unit adds one
pub mod line.
§Design reference
docs/reviews/sqryd-daemon/2026-04-19/task-9-design_iter3_request.md §C.3.1
(step 15 — authoritative ready-signal matrix) + §F.1 (systemd user unit
Type=notify) + §G (log rotation).