diff --git a/runtime/internal/rpc/stream/manager/listener.go b/runtime/internal/rpc/stream/manager/listener.go
index 5659fad..a25c514 100644
--- a/runtime/internal/rpc/stream/manager/listener.go
+++ b/runtime/internal/rpc/stream/manager/listener.go
@@ -125,7 +125,7 @@
 }
 
 func isTooManyOpenFiles(err error) bool {
-	if oErr, ok := err.(*net.OpError); ok && oErr.Err == syscall.EMFILE {
+	if oErr, ok := err.(*net.OpError); ok && strings.Contains(oErr.Err.Error(), syscall.EMFILE.Error()) {
 		return true
 	}
 	return false
diff --git a/runtime/internal/rpc/stream/manager/manager_test.go b/runtime/internal/rpc/stream/manager/manager_test.go
index 2ec4eb4..622c7af 100644
--- a/runtime/internal/rpc/stream/manager/manager_test.go
+++ b/runtime/internal/rpc/stream/manager/manager_test.go
@@ -447,6 +447,8 @@
 			}
 		}
 	}()
+	// Arrange for the above goroutine to exit when the test finishes.
+	defer ln.Close()
 
 	_, err = net.Dial(ep.Addr().Network(), ep.Addr().String())
 	if err != nil {
@@ -500,12 +502,19 @@
 		t.Fatal(err)
 	}
 	errch := make(chan error)
+	done := make(chan struct{})
 	go func() {
 		for {
 			_, err := ln.Accept()
-			errch <- err
+			select {
+			case <-done:
+				return
+			case errch <- err:
+			}
 		}
 	}()
+	// Arrange for the above goroutine to exit when the test finishes.
+	defer func() { ln.Close(); close(done) }()
 
 	vc, err := client.Dial(cctx, ep, opts...)
 	if err != nil {
diff --git a/runtime/internal/testing/mocks/mocknet/mocknet_test.go b/runtime/internal/testing/mocks/mocknet/mocknet_test.go
index e93baf3..5839ec8 100644
--- a/runtime/internal/testing/mocks/mocknet/mocknet_test.go
+++ b/runtime/internal/testing/mocks/mocknet/mocknet_test.go
@@ -10,6 +10,7 @@
 	"io"
 	"net"
 	"reflect"
+	"strings"
 	"sync"
 	"testing"
 	"time"
@@ -151,8 +152,8 @@
 			txBytes += tx
 			rxBytes += rx
 			if err != nil {
-				if got, want := err.Error(), c.err.Error(); got != want {
-					t.Fatalf("%d: got %v, want %v", ci, got, want)
+				if got, want := err.Error(), c.err.Error(); !strings.Contains(got, want) {
+					t.Fatalf("%d: got %q, does not contain %q", ci, got, want)
 				}
 			}
 		}
