func listenAndServe(ctx context.Context, srv *http.Server, errCh chan<- error) { err := srv.ListenAndServe() select { case errCh <- err: case <-ctx.Done(): } } ListenAndServe is blocking function, so the select will not happen until ListenAndServe return. and errCh become no use
On Wednesday, April 5, 2017 at 4:02:16 AM UTC+10, Pierre Durand wrote: > > Hello > > I wrote a small helper to stop an HTTP Server when a Context is canceled. > https://play.golang.org/p/Gl8APynVdh > > What do you think ? > Is it OK to use context cancellation for stopping long running functions ? > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.