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.

Reply via email to