On Sat, 9 Oct 2004 18:38:58 -0700 (PDT) "Chad N. Tindel" <ctindel@falcon.csc.calpoly.edu> wrote: > User space code sends a datagram on a blocking socket, and then calls > select() or poll() to wait for the reply. If you wish the socket not to block, mark the file descriptor as non-blocking or pass in the appropriate MSG_* flag into recvmsg(). Select() returning that a filedescriptor is readable does not guarentee that a blocking socket will not block in the ead call. This behavior has been in the Linux kernel for an enourmous amount of them, the change you are noticing going from EL 3 update 2 to update 3 is that previously we were returning -EAGAIN to blocking sockets, instead we are properly blocking to wait for another packet. There is an enormous and long thread about this topic on the linux-kernel list, please read there before we duplicate such a long and tiring thread here. - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html