elixir-lang/elixir — pull request #2712 by fishcakez (2014-08-23 16:48:56+00:00)
Title: Fix logger watcher race condition

Previously a backend could be removed from logger and the watcher would not have exited before the `Logger.remove_backend/1` call returned. This meant that a new watcher could not always be started because the child (watcher) might still exist but be about to die.

I need to investigate whether switching to a `simple_one_for_one` with non-temporary children that can return `:ignore` will cause a problem - it might.