b1db6f
diff --git a/lib/ipc_setup.c b/lib/ipc_setup.c
b1db6f
index 23eeabb..0a720c8 100644
b1db6f
--- a/lib/ipc_setup.c
b1db6f
+++ b/lib/ipc_setup.c
b1db6f
@@ -447,6 +447,7 @@ qb_ipcc_us_setup_connect(struct qb_ipcc_connection *c,
b1db6f
 	int32_t res;
b1db6f
 	struct qb_ipc_connection_request request;
b1db6f
 	struct ipc_auth_data *data;
b1db6f
+	int retry_count = 0;
b1db6f
 #ifdef QB_LINUX
b1db6f
 	int off = 0;
b1db6f
 	int on = 1;
b1db6f
@@ -478,7 +479,12 @@ qb_ipcc_us_setup_connect(struct qb_ipcc_connection *c,
b1db6f
 	}
b1db6f
 
b1db6f
 	qb_ipc_us_ready(&c->setup, NULL, -1, POLLIN);
b1db6f
+retry:
b1db6f
 	res = qb_ipc_us_recv_msghdr(data);
b1db6f
+	if (res == -EAGAIN && ++retry_count < 10) {
b1db6f
+		usleep(100000);
b1db6f
+		goto retry;
b1db6f
+	}
b1db6f
 
b1db6f
 #ifdef QB_LINUX
b1db6f
 	setsockopt(c->setup.u.us.sock, SOL_SOCKET, SO_PASSCRED, &off,