Skip to content

Correct native Windows FLS cleanup rearming and exit boundaries - #761

Merged
gmh5225 merged 1 commit into
devfrom
codex/fix-windows-fls-cleanup
Oct 10, 2026
Merged

gmh5225 merged 1 commit into
devfrom
codex/fix-windows-fls-cleanup

Conversation

@gmh5225

@gmh5225 gmh5225 commented Oct 10, 2026 •

Copy link
Copy Markdown
Contributor

Native Windows originals exposed two FLS cleanup mismatches: explicit FlsFree retained the old slot value and discarded callback writes, while termination cleanup visited newly allocated higher slots. Clear before each explicit-free callback and repeat when it rearms the value; keep one continuation and the shared process budgets. The Windows services owner now retains the historical allocation bound and cursor for the exit sweep, preserving values during each exit callback and clearing them on completion.

Independent fixtures cover 80 consecutive callbacks, nested cleanup, endless rearming under an event limit, zero-valued later slots, slot reuse, freed high indices, and values that must survive into DLL detach. Native stderr now includes failure-site bytes. The mandatory native inventory and all ten documentation translations are updated. The publication diff contains no temporary workflow or observation scripts.

Validation: exact-head Windows WHP 38020288691 passes all 5,056 mandatory names, independently checked against the source inventory and JUnit; 18,674 registered, 6,203 passed, 12,471 explicit skips, zero failures or unexecuted required tests. All four ancillary Windows/ARM64 checks pass. The rebased local build using the pinned LLVM r4 package passes the complete relevant suites: 1,418 registered, 661 passed, 757 explicit platform/backend skips, zero failures. CI configuration (73 tests), formatting and localized documentation checks pass.

Broader validation is now queued on the merged dev revision: full CI and mobile CI. The original PR runs were cancelled by the repository’s PR-closure workflow and are not counted as passes. Initial Linux/macOS mobile jobs failed before compilation because a concurrent LLVM tag build replaced already-pinned release assets. The original six archive/checksum files have been restored from verified build artifacts, and the merged release-policy fix prevents automatic replacement on future tag pushes. The original failures remain recorded; all scoped validations above passed before this PR was merged.

@gmh5225
gmh5225 marked this pull request as ready for review October 10, 2026 04:14
@gmh5225
gmh5225 merged commit 47e366b into dev Oct 10, 2026
18 of 27 checks passed
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.

2 participants