From: Florin Coras Date: Tue, 18 Aug 2020 03:46:34 +0000 (-0700) Subject: api: retry sending fd on EAGAIN X-Git-Tag: v21.01-rc0~103 X-Git-Url: https://gerrit.fd.io/r/gitweb?a=commitdiff_plain;h=587ea45ad84675cb62380c73c6f484cd6fce7934;p=vpp.git api: retry sending fd on EAGAIN Type: improvement Signed-off-by: Florin Coras Change-Id: I04117636ad95b706e3dd9331f00bd80e57d26d7f --- diff --git a/src/vlibmemory/socket_api.c b/src/vlibmemory/socket_api.c index 566305ff7fc..a3a0c3b2eb9 100644 --- a/src/vlibmemory/socket_api.c +++ b/src/vlibmemory/socket_api.c @@ -541,7 +541,8 @@ vl_sock_api_send_fd_msg (int socket_fd, int fds[], int n_fds) cmsg->cmsg_type = SCM_RIGHTS; clib_memcpy_fast (CMSG_DATA (cmsg), fds, sizeof (int) * n_fds); - rv = sendmsg (socket_fd, &mh, 0); + while ((rv = sendmsg (socket_fd, &mh, 0)) < 0 && errno == EAGAIN) + ; if (rv < 0) return clib_error_return_unix (0, "sendmsg"); return 0;