Commits
Tarun Sukhani authored bb04264cfed
the bootstrap-reentrant case is now detected and the existing executor is reused rather than torn down underneath the caller. Hot-reload paths still get a fresh executor because they route through Play.stop() → Invoker.stop() first (which sets scheduler = null), so they take the normal path