Accessing a variable from more than one goroutine w/o any synchronization is a race condition, due to memory caching the other goroutines might never be notified that lsi.stopped has been set, see http://golang.org/ref/mem#tmp_9.