code: func (d *Daemon) updateHealthMonitor(c *container.Container) {
  	h := c.State.Health
  	if h == nil {
  		return // No healthcheck configured
  	}
  
  	probe := getProbe(c)
  	wantRunning := c.Running && !c.Paused && probe != nil
  	if wantRunning {
  		if stop := h.OpenMonitorChannel(); stop != nil {
  			go monitor(d, c, stop, probe)
  		}
  	} else {
  		h.CloseMonitorChannel()
  	}
  }
docs: // Ensure the health-check monitor is running or not, depending on the current
  // state of the container.
  // Called from monitor.go, with c locked.