From 114a3db9185080baf6edf3687355e72ba3113b59 Mon Sep 17 00:00:00 2001
From: "Jason A. Donenfeld" <Jason@zx2c4.com>
Date: Fri, 14 Jan 2022 16:10:43 +0100
Subject: [PATCH] ipc: bsd: try again if kqueue returns EINTR

Reported-by: J. Michael McAtee <mmcatee@jumptrading.com>
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
---
 ipc/uapi_bsd.go | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ipc/uapi_bsd.go b/ipc/uapi_bsd.go
index 6c85b40..303adeb 100644
--- a/ipc/uapi_bsd.go
+++ b/ipc/uapi_bsd.go
@@ -103,7 +103,7 @@ func UAPIListen(name string, file *os.File) (net.Listener, error) {
 				l.connErr <- err
 				return
 			}
-			if kerr != nil || n != 1 {
+			if (kerr != nil || n != 1) && kerr != unix.EINTR {
 				if kerr != nil {
 					l.connErr <- kerr
 				} else {