Quoting Ian McDonald: | And then as I write this realise we are being way too complicated. We | should remove timeo altogether!!! As we are doing this in effect by | that continue and that is perfectly valid is this is blocking I/O. So | we remove timeo, remove DCCP_XMIT_TIMEO and simplify it a fair bit. Your idea seems nice and to me it also seemed that it should be simplified. | Still thinking about why we are getting EAGAIN and suspect it is due | to you not having that patch but I'll probably add more debugging in. No, I have that patch in my code: if (err > 0) { if (!block) { sk_reset_timer(sk, &dp->dccps_xmit_timer, msecs_to_jiffies(err)+jiffies); break; } else { err = dccp_wait_for_ccid(sk, skb, &timeo); timeo = DCCP_XMIT_TIMEO; /* <==== I think you mean this one */ } | Anyway feel free to write a patch or I might when I get home from work | or tomorrow I'd be happy to see a patch - maybe several cases can be folded into one. - To unsubscribe from this list: send the line "unsubscribe dccp" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html