func (m *Monitor) Close() {
	m.mtx.Lock()
	defer m.mtx.Unlock()

	if m.exit != nil {
		m.exit <- struct{}{}
		<-m.exited
	}
}
func (m *Monitor) Close() {
	m.mtx.Lock()
	defer m.mtx.Unlock()

	if m.exit != nil {
		m.exit <- struct{}{}
		<-m.exited
	}
}
func ( m * Monitor ) Close ( ) { m . mtx . Lock ( ) defer m . mtx . Unlock ( ) if m . exit != nil { m . exit <- struct { } { } <- m . exited } }
// Close causes currently running Run() function to exit.
Close causes currently running Run () function to exit .