rpc: Fix data race.

Change-Id: I407668591edc0ffd5f1b9a03e303512a18f100f9
diff --git a/runtime/internal/flow/manager/manager.go b/runtime/internal/flow/manager/manager.go
index 2369207..6803295 100644
--- a/runtime/internal/flow/manager/manager.go
+++ b/runtime/internal/flow/manager/manager.go
@@ -507,12 +507,14 @@
 	defer m.ls.listenLoops.Done()
 	defer func() {
 		close(acceptFailed)
+		ln.Close()
+		m.ls.mu.Lock()
 		delete(m.ls.listeners, ln)
 		if m.ls.dirty != nil {
 			close(m.ls.dirty)
 			m.ls.dirty = make(chan struct{})
 		}
-		ln.Close()
+		m.ls.mu.Unlock()
 	}()
 	const killConnectionsRetryDelay = 5 * time.Millisecond
 	for {