Signed-off-by: Jarno Rajahalme <[email protected]>
---
lib/netlink-socket.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/lib/netlink-socket.c b/lib/netlink-socket.c
index 361cb87..606f50b 100644
--- a/lib/netlink-socket.c
+++ b/lib/netlink-socket.c
@@ -426,6 +426,12 @@ nl_sock_recvm__(struct nl_sock *sock, struct mmsghdr
mmsg[], int *n_msgs,
{
ssize_t retval;
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,32)
+ do {
+ retval = recvmmsg(sock->fd, mmsg, *n_msgs,
+ wait ? MSG_WAITFORONE : MSG_DONTWAIT, NULL);
+ } while (retval < 0 && errno == EINTR);
+#else
int n = 0;
retval = EAGAIN;
for (n = 0; n < *n_msgs; ++n) {
@@ -440,6 +446,7 @@ nl_sock_recvm__(struct nl_sock *sock, struct mmsghdr
mmsg[], int *n_msgs,
if (n > 0) {
retval = n;
}
+#endif
if (retval < 0) {
int error = errno;
--
1.7.10.4
_______________________________________________
dev mailing list
[email protected]
http://openvswitch.org/mailman/listinfo/dev