Messages in this thread | | | Date | Wed, 06 Oct 2004 08:30:19 -0700 | From | Dan Kegel <> | Subject | Re: UDP recvmsg blocks after select(), 2.6 bug? |
| |
David S. Miller wrote: > Incorrect UDP checksums could cause the read data to > be discarded. We do the copy into userspace and checksum > computation in parallel. This is totally legal and we've > been doing it since 2.4.x first got released.
Might there be a similar effect for packets with bad IP or TCP checksums? (http://citeseer.ist.psu.edu/stone00when.html)
And as Bert says, Stevens mentions that with TCP accepts, the other side might close before you call accept.
BTW this is why I insisted in JSR-51 that Java's NIO not allow the use of Selector with blocking sockets:
http://java.sun.com/j2se/1.4.2/docs/api/java/nio/channels/SelectableChannel.html "A channel must be placed into non-blocking mode before being registered with a selector, and may not be returned to blocking mode until it has been deregistered."
So at least Java programs that use NIO are immune to this particular user error (unless your implementation of NIO relaxes this sanity check, tsk).
- Dan
-- My technical stuff: http://kegel.com My politics: see http://www.misleader.org for examples of why I'm for regime change - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |