Skip to content

fix(track-a): retain canonical lease through process-group cancellation - #321

Merged
blakinio merged 6 commits into
mainfrom
fix/OTC-20260815-track-a-live-runtime-lease-manager-cancellation
Aug 16, 2026
Merged

fix(track-a): retain canonical lease through process-group cancellation#321
blakinio merged 6 commits into
mainfrom
fix/OTC-20260815-track-a-live-runtime-lease-manager-cancellation

Conversation

@blakinio

Copy link
Copy Markdown
Owner

Scope

Repairs the post-closeout Track A P1 found during PR #311 review: the out-of-band lock-owning supervisor must not terminate on foreground process-group cancellation while a guarded descendant is still alive.

Current implementation

  • blocks normal cancellation signals across the fork race;
  • installs non-terminating handlers in the dedicated child-subreaper before unmasking;
  • relays a cancellation that was already pending before the supervisor existed;
  • does not pass the flock FD to the guarded command;
  • keeps the flock until the primary command and all adopted/orphaned descendants exit;
  • adds a deterministic regression where the foreground guard process group receives SIGTERM while the guarded descendant deliberately ignores SIGTERM;
  • extends the fresh acceptance-audit gate to require the cancellation-safe supervisor primitives.

No Tibia client launch/login/runtime mutation or credentials are used. PR #303 runtime-owned surfaces and Track B are untouched. Canonical :98/6082/PID/session status remains UNKNOWN/NOT_REGISTERED and the exact client fence is unchanged.

Validation is intentionally pending on this new exact head: deterministic unit, isolated Synology, fresh independent audit, repository CI and review must all pass before protected merge. A fresh manager closeout/archival will follow this corrected manager; the earlier #319 closeout is not treated as final Track A evidence after this P1.

@blakinio
blakinio marked this pull request as ready for review August 16, 2026 05:24
@blakinio
blakinio enabled auto-merge (squash) August 16, 2026 05:24
@blakinio
blakinio merged commit 8828150 into main Aug 16, 2026
18 of 20 checks passed
@blakinio
blakinio deleted the fix/OTC-20260815-track-a-live-runtime-lease-manager-cancellation branch August 16, 2026 05:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant