Bug #1314 » 0001-lttng-ust-retry-sendmsg-or-recvmsg-when-EAGAIN-is-go.patch
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;
|