Skip to content

stevenacoffman/go-craft

v0.1.0MIT

Go application design: packages, dependency injection, errors, HTTP services, and CLIs.

mutex-closure-atomic-mutation

Apply when separate mutex-protected Get() and Set() methods lose updates under concurrency, or go test -race passes but shared state is wrong. Get-mutate-Set is a logical race; fix it with closure inversion, Set(func(*T)), holding the lock for the whole read-check-write.

Read SKILL.md at the source

Pinned to revision e4081cbb4d29, so it is the text this page describes rather than whatever the author pushed since.

Files

Every link opens the file at its source, pinned to the revision this page describes.