Re: [PATCH/RFC] Re: recvmmsg() timeout behavior strangeness [RESEND]
From: David Miller <hidden>
Date: 2014-05-23 19:01:00
Also in:
linux-man, lkml
From: Arnaldo Carvalho de Melo <redacted> 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. :) Thanks! -- To unsubscribe from this list: send the line "unsubscribe linux-man" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html