Em Fri, May 23, 2014 at 03:00:55PM -0400, David Miller escreveu: > From: Arnaldo Carvalho de Melo <acme@xxxxxxxxxx> > Date: Wed, 21 May 2014 18:05:35 -0300 > > But after thinking a bit more, looks like we need to do that, please > > take a look at the attached patch to see if it addresses the problem. > > Mostly it adds a new timeop to the per protocol recvmsg() > > implementations, that, if not NULL, should be used instead of > > SO_RCVTIMEO. > > since the underlying recvmsg implementations already check that timeout, > > return what is remaining, that will then be used in subsequent recvmsg > > calls, at the end we just convert it back to timespec format. > > In most cases it is just passed to skb_recv_datagram, that will check > > the pointer, use it and update if not NULL. > > Should have no problems, but I only did a boot with a system with this > > patch applied, no problems noticed on a normal desktop session, ssh, > > etc. > This looks fine to me, but I have a small request: > + return noblock ? 0 : timeop ? *timeop : sk->sk_rcvtimeo; > I keep forgetting which way these expressions associate, so if you could > parenthesize the innermost ?: I'd appreciate it. :) Ok, I actually wrote a sample program to verify that these ternaries did what I meant 8) I'll finish the cset log and do this clarification change. Would be great to get Acked-by tags from the original reporter, Michael and whoever had a look at this change, if possible. Michael, Elie? > Thanks! Thanks a lot for reviewing it! - Arnaldo -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html