I suspect that sock_recvmsg() and sock_sendmsg() do not keep any internal state in the msg header passed (and thus in the iovec). That is, calling it in a loop with the same msg (and thus iov) will _overwrite_ the data as each time it will write at the beginning of iov for the amount of data requested. Is this true? (I suspect yes.) P.S. I saw an implementation which assumed that such an internal state is kept -- btw, this implementation was freezing the computer... -- Luben - : 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