fix(lifecycle): preserve mixed shutdown error identity

This commit is contained in:
end committed 2026-10-27 12:04:13 -07:00
1 parent b9a5fa8bd8
commit 64c7e6b65d
3 files changed
+91 -28

No files matched your search

+5
View File
@@ -35,6 +35,11 @@ an injected signal cancels work before teardown. One shared shutdown deadline
abandons shutdown. Callbacks must cooperate: abandonment cannot kill goroutines,
and the caller owns process exit and any unreleased resources.
During App-initiated shutdown, callback errors containing only the callback's
context cancellation are omitted. Mixed cancellation and independent failures
are retained intact to preserve wrapper types, identity and custom matching;
these errors may still match cancellation through `errors.Is`.
The caller owns signal subscription, SIGINT/SIGTERM filtering, a channel buffered
for at least two signals, and subscription cleanup. Nil signals disable reception.
There are no signal subscriptions, process exits, external dependencies or CLI