Get the complete message on receive. We do not handle receiving split
data with the lttcomm_recv_unix_sock which is *not* good but for now we
will simply add this flag since every call should block anyway and does
not require any other funky flags.
This issue was detected with the kernel events listing failing by
sending half of the data half the time.
Reported-by: Daniel Thibault <daniel.thibault@drdc-rddc.gc.ca>
Signed-off-by: David Goulet <dgoulet@efficios.com>
msg.msg_iov = iov;
msg.msg_iovlen = 1;
msg.msg_iov = iov;
msg.msg_iovlen = 1;
- ret = recvmsg(sock, &msg, 0);
+ ret = recvmsg(sock, &msg, MSG_WAITALL);
if (ret < 0) {
perror("recvmsg");
}
if (ret < 0) {
perror("recvmsg");
}