Date: Tue, 22 Jan 2002 14:01:13 -0800 From: David Greenman <dg@root.com> To: Alfred Perlstein <bright@mu.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/kern uipc_syscalls.c Message-ID: <20020122140113.A52101@nexus.root.com> In-Reply-To: <20020122124129.E13686@elvis.mu.org>; from bright@mu.org on Tue, Jan 22, 2002 at 12:41:29PM -0800 References: <200201221732.g0MHWAR50160@freefall.freebsd.org> <20020122104431.X13686@elvis.mu.org> <20020122120048.B50580@nexus.root.com> <20020122124129.E13686@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
>> I'm not sure if I understand. If you haven't sent all of the headers+file+ >> trailers and sendfile would block (in non-blocking mode), then it should >> return the number of bytes sent and EAGAIN to indicate that it isn't finished. >> Since sendfile allows you to spec "nbytes=0" as a special case to indicate >> that the whole file should be sent, I don't see how it can be any other way. >> In other words, how would the application know if it was finished if it hadn't >> looked up the file size first and kept track of everything itself? Doing all >> of that would completely defeat the purpose of nbytes = 0. > >AH! I didn't consider this... but... did it block while sending >the entire file... or when sending the trailers? :) It doesn't matter where it would have blocked. All the application cares about is if it is done with everything. >It seems like returning EAGAIN is correct, but the application would >need to stat(2) the file to find out at that point if utilizing >trailers? No. It doesn't need to know that. >Cool, please keep me in the loop. Will do. I'll probably want you or someone else to deal with Apache-2.x (both the port and the Group). -DG David Greenman Co-founder, The FreeBSD Project - http://www.freebsd.org President, TeraSolutions, Inc. - http://www.terasolutions.com President, Download Technologies, Inc. - http://www.downloadtech.com Pave the road of life with opportunities. To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020122140113.A52101>