ref/runtime/internal/rpc/stream/manager: Fix test hang.

The problem is that the test opens a net.Conn to a stream manager
(just using net.Dial) and then never writes on it.
When we start trying to accept a VIF we have no way of timing out
or cancelling that operation.  We should fix that, but I only
want to deal with it in the new implementation, so for now
I just close the net.Conn which allows everything to shut down.

Change-Id: Ic683ed647ed5475b8287b06d2755edcf10beacea
diff --git a/runtime/internal/rpc/stream/manager/listener.go b/runtime/internal/rpc/stream/manager/listener.go
index a7afc98..6ef5453 100644
--- a/runtime/internal/rpc/stream/manager/listener.go
+++ b/runtime/internal/rpc/stream/manager/listener.go
@@ -293,7 +293,7 @@
 	ln.connsMu.Lock()
 	var vifs []*vif.VIF
 	if ln.vifs != nil {
-		vifs, ln.vifs = ln.vifs.List(), nil
+		vifs = ln.vifs.List()
 	}
 	ln.connsMu.Unlock()
 	if len(vifs) > 0 {
diff --git a/runtime/internal/rpc/stream/manager/manager_test.go b/runtime/internal/rpc/stream/manager/manager_test.go
index 12f7bd5..f1c0377 100644
--- a/runtime/internal/rpc/stream/manager/manager_test.go
+++ b/runtime/internal/rpc/stream/manager/manager_test.go
@@ -431,6 +431,7 @@
 		pserver = testutil.NewPrincipal("server")
 		lopts   = []stream.ListenerOpt{vc.StartTimeout{Duration: startTime}}
 	)
+	defer server.Shutdown()
 
 	sctx, _ := v23.WithPrincipal(ctx, pserver)
 
@@ -452,10 +453,11 @@
 	// Arrange for the above goroutine to exit when the test finishes.
 	defer ln.Close()
 
-	_, err = net.Dial(ep.Addr().Network(), ep.Addr().String())
+	conn, err := net.Dial(ep.Addr().Network(), ep.Addr().String())
 	if err != nil {
 		t.Fatalf("net.Dial failed: %v", err)
 	}
+	defer conn.Close()
 
 	// Trigger the start timers.
 	triggerTimers()