diff --git a/modules/route-proxy/cmd/route-provider/main.go b/modules/route-proxy/cmd/route-provider/main.go index 8887ed6f..a00a7090 100644 --- a/modules/route-proxy/cmd/route-provider/main.go +++ b/modules/route-proxy/cmd/route-provider/main.go @@ -28,6 +28,9 @@ func main() { } else { p := newProvider(node, provider.StateBus(ModuleName), say) go func() { + // The helper's watches go through the runtime's channel, which Serve holds: one asked before it does is + // refused ("before Serve"), Run returns and the helper stays stopped until the process restarts. + <-stdio.Served() if err := p.Run(context.Background()); err != nil { say("the provider helper stopped: %v", err) }