$ the-wire · showcase
DynamicSupervisor keeps shutdown reasons, stops leaking timeout messages
By RepoJournal · Filed · About Elixir & Phoenix · Composed from the cited sources · methodology
Two commits from José Valim against elixir-lang/elixir close the same issue, tightening how DynamicSupervisor reports child exits and when timeout messages reach a caller's mailbox.
Do not discard reason in DynamicSupervisor, closes #16020 elixir-lang/elixir
DynamicSupervisor no longer discards the reason when a child terminates. This is a behavioral change to what your supervisor reports, so code that pattern-matched on the previously lossy shutdown reason should be re-checked before you rely on it.
Do not leak timeout messages, closes #16020 elixir-lang/elixir
A companion commit stops timeout messages from leaking, which matters anywhere you use receive with a timeout and expect a clean mailbox: a stale timeout message left behind is a message your next receive can match. Both commits close the same issue.