Return-Path: Delivered-To: apmail-apache-bugdb-archive@apache.org Received: (qmail 76528 invoked by uid 500); 21 Mar 2001 16:07:53 -0000 Mailing-List: contact apache-bugdb-help@apache.org; run by ezmlm Precedence: bulk Reply-To: apache-bugdb@apache.org list-help: list-unsubscribe: list-post: Delivered-To: mailing list apache-bugdb@apache.org Received: (qmail 76441 invoked by uid 501); 21 Mar 2001 16:07:29 -0000 Date: 21 Mar 2001 16:07:29 -0000 Message-ID: <20010321160729.76439.qmail@apache.org> To: apache-bugdb@apache.org, rgriswol@us.ibm.com, trawick@apache.org From: trawick@apache.org Subject: Re: os-aix/7418: Incorrect reporting of bytes sent by send_file() [In order for any reply to be added to the PR database, you need] [to include in the Cc line and make sure the] [subject line starts with the report component and number, with ] [or without any 'Re:' prefixes (such as "general/1098:" or ] ["Re: general/1098:"). If the subject doesn't match this ] [pattern, your message will be misfiled and ignored. The ] ["apbugs" address is not added to the Cc line of messages from ] [the database automatically because of the potential for mail ] [loops. If you do not include this Cc, your reply may be ig- ] [nored unless you are responding to an explicit request from a ] [developer. Reply only with text; DO NOT SEND ATTACHMENTS! ] Synopsis: Incorrect reporting of bytes sent by send_file() State-Changed-From-To: open-closed State-Changed-By: trawick State-Changed-When: Wed Mar 21 08:07:23 PST 2001 State-Changed-Why: I'm closing the PR since it didn't turn out to be a problem in Apache/APR. More text follows... >I'm curious about something though. In your reply, you >mentioned that apr_sendfile() doesn't loop until it sends >all the so that the caller have control over timeouts. >However, apr_sendfile() calls wait_for_io_or_timeout() >which returns a bad return code if select() times out >If you did loop inside apr_sendfile(), wouldn't >wait_for_io_or_timeout() give you the timeout control >you need? First, what I should have/meant to say :) We make multiple syscalls + select to handle the timeout issue. We make multiple calls to apr_sendfile()/apr_send()/whatever for reasons I probably don't understand/can't explain adequately :( By the way... after your socket layer is updated try the test program sendfile.c in the apr/test subdirectory. It does a pretty decent job of finding problems in apr_sendfile(). Have fun...