X-Git-Url: http://p2p-next.cs.pub.ro/gitweb/?a=blobdiff_plain;f=src%2Fkernel%2Fswift.c;h=270b43b78a44ccb357040ec477f2af8083db9299;hb=ade3730ffddebf5ecb6505a718d36d7d6f543db3;hp=116c04b1777a2b58069c58be55f5269d90e73c2e;hpb=5d690fef4ebea52e5bfc1560c945e86c0dbbb946;p=swifty.git diff --git a/src/kernel/swift.c b/src/kernel/swift.c index 116c04b..270b43b 100644 --- a/src/kernel/swift.c +++ b/src/kernel/swift.c @@ -363,7 +363,7 @@ static int swift_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr skb = skb_recv_datagram(sk, flags, flags & MSG_DONTWAIT, &err); if (unlikely(!skb)) { - log_error("skb_recv_datagram\n"); + log_error("skb_recv_datagram failed with %d\n", err); goto out; } @@ -397,6 +397,9 @@ static int swift_recvmsg(struct kiocb *iocb, struct socket *sock, struct msghdr out_free: skb_free_datagram(sk, skb); + if (i == msg->msg_iovlen - 1) + break; + skb = skb_recv_datagram(sk, flags, 1, &err); if (likely(err == -EAGAIN)) { log_debug("No more skbs in the queue, returning...\n");