title: How to stop http.ListenAndServe()
body: <p>I am using the Mux library from Gorilla Web Toolkit along with the bundled Go http server.</p>
  
  <p>The problem is that in my application the HTTP server is only one component and it is required to stop and start at my discretion.</p>
  
  <p>When I call <code>http.ListenAndServe(fmt.Sprintf(":%d", service.Port()), service.router)</code> it blocks and I cannot seem to stop the server from running.</p>
  
  <p>I am aware this has been a problem in the past, is that still the case? Are there any new solutions?</p>