Project

General

Profile

Bug #1314 » 0001-lttng-ust-retry-sendmsg-or-recvmsg-when-EAGAIN-is-go.patch

Heng Guo, 05/06/2021 10:31 PM

View differences:

liblttng-ust-comm/lttng-ust-comm.c
iov[0].iov_len -= ret;
assert(ret <= len_last);
}
} while ((ret > 0 && ret < len_last) || (ret < 0 && errno == EINTR));
else if (errno == EAGAIN)
DGB("recvmsg, sock:%d, ret:%d, errno: EAGAIN", sock, ret);
} while ((ret > 0 && ret < len_last)
|| (ret < 0 && (errno == EINTR || errno == EAGAIN)));
if (ret < 0) {
int shutret;
......
*/
do {
ret = sendmsg(sock, &msg, MSG_NOSIGNAL);
} while (ret < 0 && errno == EINTR);
if(ret < 0 && errno == EAGAIN)
DBG("sendmsg, sock:%d, ret:%d, errno: EAGAIN", sock, ret);
} while (ret < 0 && (errno == EINTR || errno == EAGAIN));
if (ret < 0) {
int shutret;
(1-1/9)