Skip to content

fix(engine): canonicalize action locks during construction - #16252

Merged
rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-xoskxurukutv
Aug 29, 2026
Merged

fix(engine): canonicalize action locks during construction#16252
rgrinberg merged 1 commit into
ocaml:mainfrom
rgrinberg:push-xoskxurukutv

Conversation

@rgrinberg

Copy link
Copy Markdown
Member

Canonicalize action lock paths as a set when constructing and combining action
properties. Duplicate declarations can no longer make a rule acquire the same
non-reentrant mutex twice, and digesting and acquisition consume the same
canonical ordering without repeated sorting.

The regression is covered by #16247.

@rgrinberg
rgrinberg force-pushed the push-xoskxurukutv branch 3 times, most recently from 1bd9c15 to 0e0d399 Compare August 29, 2026 17:09
Store lock paths as a set in action properties and union sets when actions are
combined. Duplicate declarations and acquisition order are resolved before
execution, which no longer sorts the same locks on every run.

Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
@rgrinberg
rgrinberg merged commit a8efdf8 into ocaml:main Aug 29, 2026
26 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.

1 participant