From 07887e1f7459e85f06c455200fca140e9e7c2109 Mon Sep 17 00:00:00 2001 From: Thomas Schoebel-Theuer Date: Mon, 6 Jul 2015 12:08:48 +0200 Subject: [PATCH] net: compatibility to kernel 3.19 --- kernel/mars_net.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/kernel/mars_net.c b/kernel/mars_net.c index d3f98569..4ff87639 100644 --- a/kernel/mars_net.c +++ b/kernel/mars_net.c @@ -42,6 +42,17 @@ #include "mars_net.h" #undef USE_SENDPAGE // FIXME: does not work, leads to data corruption (probably due to races with asynchrous sending) + +//////////////////////////////////////////////////////////////////// + +// provisionary version detection + +#ifndef TCP_MAX_REORDERING +#define __HAS_IOV_ITER +#endif + +//////////////////////////////////////////////////////////////////// + #define USE_BUFFERING /* Low-level network traffic @@ -399,7 +410,9 @@ int _mars_send_raw(struct mars_socket *msock, const void *buf, int len) .iov_len = this_len, }; struct msghdr msg = { +#ifndef __HAS_IOV_ITER .msg_iov = (struct iovec*)&iov, +#endif .msg_flags = 0 | MSG_NOSIGNAL, }; status = kernel_sendmsg(sock, &msg, &iov, 1, this_len); @@ -568,8 +581,10 @@ int mars_recv_raw(struct mars_socket *msock, void *buf, int minlen, int maxlen) .iov_len = maxlen - done, }; struct msghdr msg = { +#ifndef __HAS_IOV_ITER .msg_iovlen = 1, .msg_iov = (struct iovec*)&iov, +#endif .msg_flags = MSG_NOSIGNAL, }; struct socket *sock = msock->s_socket;