Skip site navigation (1)Skip section navigation (2)
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>