Skip to content

feat: add keyed mutex utility - #85

Merged
alanshaw merged 3 commits into
mainfrom
ash/feat/keylock
Oct 12, 2026
Merged

alanshaw merged 3 commits into
mainfrom
ash/feat/keylock

Conversation

@alanshaw

Copy link
Copy Markdown
Member

Adds a utility to serialize work on a key within one process.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃煛 Changes recommended

Critical usage constraints need documentation, and tests should deterministically verify key-specific concurrency.

3 open findings
What changed in this PR

Adds an in-process keyed locking utility with automatic cleanup.

Changes:

  • Implements per-string mutex serialization.
  • Adds concurrent locking and cleanup tests.
File Description
keylock/鈥媖eylock.go Implements keyed locks.
keylock/鈥媖eylock_test.go Tests exclusion and cleanup.

馃 Review effort: Balanced


馃挕 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread keylock/keylock.go Outdated
Comment thread syncutil/keyedmutex_test.go
Comment thread keylock/keylock.go Outdated

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

馃煝 Approval recommended

No unresolved review issues were identified.

0 open findings

3 resolved since last review

馃 Review effort: Lite

@alanshaw alanshaw changed the title feat: add keylock utility feat: add keyed mutex utility Oct 12, 2026
@alanshaw
alanshaw merged commit fbc83e2 into main Oct 12, 2026
8 checks passed
@alanshaw
alanshaw deleted the ash/feat/keylock branch October 12, 2026 14:06
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